*/ public function getInScopeNamespaces(): array {} /** @return list */ public function getDescendantNamespaces(): array {} public function rename(?string $namespaceURI, string $qualifiedName): void {} } class HTMLElement extends Element { } class Attr extends Node { /** @readonly */ public ?string $namespaceURI; /** @readonly */ public ?string $prefix; /** @readonly */ public string $localName; /** @readonly */ public string $name; public string $value; /** @readonly */ public ?Element $ownerElement; /** @readonly */ public bool $specified = true; /** @implementation-alias DOMAttr::isId */ public function isId(): bool {} /** @implementation-alias Dom\Element::rename */ public function rename(?string $namespaceURI, string $qualifiedName): void {} } class CharacterData extends Node implements ChildNode { /** @readonly */ public ?Element $previousElementSibling; /** @readonly */ public ?Element $nextElementSibling; public string $data; /** @readonly */ public int $length; /** @implementation-alias DOMCharacterData::substringData */ public function substringData(int $offset, int $count): string {} public function appendData(string $data): void {} public function insertData(int $offset, string $data): void {} public function deleteData(int $offset, int $count): void {} public function replaceData(int $offset, int $count, string $data): void {} /** @implementation-alias DOMElement::remove */ public function remove(): void {} /** @implementation-alias DOMElement::before */ public function before(Node|string ...$nodes): void {} /** @implementation-alias DOMElement::after */ public function after(Node|string ...$nodes): void {} /** @implementation-alias DOMElement::replaceWith */ public function replaceWith(Node|string ...$nodes): void {} } class Text extends CharacterData { /* No constructor because Node has a final private constructor, so PHP does not allow overriding that. */ /** @implementation-alias DOMText::splitText */ public function splitText(int $offset): Text {} /** @readonly */ public string $wholeText; } class CDATASection extends Text {} class ProcessingInstruction extends CharacterData { /** @readonly */ public string $target; } class Comment extends CharacterData { /* No constructor because Node has a final private constructor, so PHP does not allow overriding that. */ } class DocumentType extends Node implements ChildNode { /** @readonly */ public string $name; /** @readonly */ public DtdNamedNodeMap $entities; /** @readonly */ public DtdNamedNodeMap $notations; /** @readonly */ public string $publicId; /** @readonly */ public string $systemId; /** @readonly */ public ?string $internalSubset; /** @implementation-alias DOMElement::remove */ public function remove(): void {} /** @implementation-alias DOMElement::before */ public function before(Node|string ...$nodes): void {} /** @implementation-alias DOMElement::after */ public function after(Node|string ...$nodes): void {} /** @implementation-alias DOMElement::replaceWith */ public function replaceWith(Node|string ...$nodes): void {} } class DocumentFragment extends Node implements ParentNode { /** @readonly */ public ?Element $firstElementChild; /** @readonly */ public ?Element $lastElementChild; /** @readonly */ public int $childElementCount; /** @implementation-alias DOMDocumentFragment::appendXML */ public function appendXml(string $data): bool {} /** @implementation-alias DOMElement::append */ public function append(Node|string ...$nodes): void {} /** @implementation-alias DOMElement::prepend */ public function prepend(Node|string ...$nodes): void {} /** @implementation-alias DOMElement::replaceChildren */ public function replaceChildren(Node|string ...$nodes): void {} /** @implementation-alias Dom\Element::querySelector */ public function querySelector(string $selectors): ?Element {} /** @implementation-alias Dom\Element::querySelectorAll */ public function querySelectorAll(string $selectors): NodeList {} } class Entity extends Node { /** @readonly */ public ?string $publicId; /** @readonly */ public ?string $systemId; /** @readonly */ public ?string $notationName; } class EntityReference extends Node {} class Notation extends Node { /** @readonly */ public string $publicId; /** @readonly */ public string $systemId; } abstract class Document extends Node implements ParentNode { /** @readonly */ public Implementation $implementation; public string $URL; public string $documentURI; public string $characterSet; public string $charset; public string $inputEncoding; /** @readonly */ public ?DocumentType $doctype; /** @readonly */ public ?Element $documentElement; /** @implementation-alias Dom\Element::getElementsByTagName */ public function getElementsByTagName(string $qualifiedName): HTMLCollection {} /** @implementation-alias Dom\Element::getElementsByTagNameNS */ public function getElementsByTagNameNS(?string $namespace, string $localName): HTMLCollection {} public function createElement(string $localName): Element {} public function createElementNS(?string $namespace, string $qualifiedName): Element {} /** @implementation-alias DOMDocument::createDocumentFragment */ public function createDocumentFragment(): DocumentFragment {} /** @implementation-alias DOMDocument::createTextNode */ public function createTextNode(string $data): Text {} /** @implementation-alias DOMDocument::createCDATASection */ public function createCDATASection(string $data): CDATASection {} /** @implementation-alias DOMDocument::createComment */ public function createComment(string $data): Comment {} public function createProcessingInstruction(string $target, string $data): ProcessingInstruction {} public function importNode(?Node $node, bool $deep = false): Node {} public function adoptNode(Node $node): Node {} /** @implementation-alias DOMDocument::createAttribute */ public function createAttribute(string $localName): Attr {} /** @implementation-alias DOMDocument::createAttributeNS */ public function createAttributeNS(?string $namespace, string $qualifiedName): Attr {} /** @readonly */ public ?Element $firstElementChild; /** @readonly */ public ?Element $lastElementChild; /** @readonly */ public int $childElementCount; /** @implementation-alias DOMDocument::getElementById */ public function getElementById(string $elementId): ?Element {} public function registerNodeClass(string $baseClass, ?string $extendedClass): void {} #ifdef LIBXML_SCHEMAS_ENABLED /** @implementation-alias DOMDocument::schemaValidate */ public function schemaValidate(string $filename, int $flags = 0): bool {} /** @implementation-alias DOMDocument::schemaValidateSource */ public function schemaValidateSource(string $source, int $flags = 0): bool {} /** @implementation-alias DOMDocument::relaxNGValidate */ public function relaxNgValidate(string $filename): bool {} /** @implementation-alias DOMDocument::relaxNGValidateSource */ public function relaxNgValidateSource(string $source): bool {} #endif /** @implementation-alias DOMElement::append */ public function append(Node|string ...$nodes): void {} /** @implementation-alias DOMElement::prepend */ public function prepend(Node|string ...$nodes): void {} /** @implementation-alias DOMDocument::replaceChildren */ public function replaceChildren(Node|string ...$nodes): void {} public function importLegacyNode(\DOMNode $node, bool $deep = false): Node {} /** @implementation-alias Dom\Element::querySelector */ public function querySelector(string $selectors): ?Element {} /** @implementation-alias Dom\Element::querySelectorAll */ public function querySelectorAll(string $selectors): NodeList {} public ?HTMLElement $body; /** @readonly */ public ?HTMLElement $head; public string $title; } final class HTMLDocument extends Document { public static function createEmpty(string $encoding = "UTF-8"): HTMLDocument {} public static function createFromFile(string $path, int $options = 0, ?string $overrideEncoding = null): HTMLDocument {} public static function createFromString(string $source, int $options = 0, ?string $overrideEncoding = null): HTMLDocument {} /** @implementation-alias Dom\XMLDocument::saveXml */ public function saveXml(?Node $node = null, int $options = 0): string|false {} /** @implementation-alias DOMDocument::save */ public function saveXmlFile(string $filename, int $options = 0): int|false {} public function saveHtml(?Node $node = null): string {} public function saveHtmlFile(string $filename): int|false {} #if ZEND_DEBUG public function debugGetTemplateCount(): int {} #endif } final class XMLDocument extends Document { public static function createEmpty(string $version = "1.0", string $encoding = "UTF-8"): XMLDocument {} public static function createFromFile(string $path, int $options = 0, ?string $overrideEncoding = null): XMLDocument {} public static function createFromString(string $source, int $options = 0, ?string $overrideEncoding = null): XMLDocument {} /** @readonly */ public string $xmlEncoding; public bool $xmlStandalone; public string $xmlVersion; public bool $formatOutput; /** @implementation-alias DOMDocument::createEntityReference */ public function createEntityReference(string $name): EntityReference {} /** @implementation-alias DOMDocument::validate */ public function validate(): bool {} public function xinclude(int $options = 0): int {} public function saveXml(?Node $node = null, int $options = 0): string|false {} /** @implementation-alias DOMDocument::save */ public function saveXmlFile(string $filename, int $options = 0): int|false {} } /** * @not-serializable * @strict-properties */ final class TokenList implements IteratorAggregate, Countable { /** @implementation-alias Dom\Node::__construct */ private function __construct() {} /** @readonly */ public int $length; public function item(int $index): ?string {} public function contains(string $token): bool {} public function add(string ...$tokens): void {} public function remove(string ...$tokens): void {} public function toggle(string $token, ?bool $force = null): bool {} public function replace(string $token, string $newToken): bool {} public function supports(string $token): bool {} public string $value; public function count(): int {} public function getIterator(): \Iterator {} } /** * @not-serializable * @strict-properties */ readonly final class NamespaceInfo { public ?string $prefix; public ?string $namespaceURI; public Element $element; /** @implementation-alias Dom\Node::__construct */ private function __construct() {} } #ifdef LIBXML_XPATH_ENABLED /** @not-serializable */ final class XPath { /** @readonly */ public Document $document; public bool $registerNodeNamespaces; public function __construct(Document $document, bool $registerNodeNS = true) {} public function evaluate(string $expression, ?Node $contextNode = null, bool $registerNodeNS = true): null|bool|float|string|NodeList {} public function query(string $expression, ?Node $contextNode = null, bool $registerNodeNS = true): NodeList {} /** @implementation-alias DOMXPath::registerNamespace */ public function registerNamespace(string $prefix, string $namespace): bool {} /** @implementation-alias DOMXPath::registerPhpFunctions */ public function registerPhpFunctions(string|array|null $restrict = null): void {} /** @implementation-alias DOMXPath::registerPhpFunctionNS */ public function registerPhpFunctionNS(string $namespaceURI, string $name, callable $callable): void {} /** @implementation-alias DOMXPath::quote */ public static function quote(string $str): string {} } #endif function import_simplexml(object $node): Element {} }