import { Page } from './page.js';
import { RemoteElement } from './remote-element.js';
import { CdpNode } from './types.js';
export declare class DomManager {
    page: Page;
    nodesMap: Map<number, CdpNode>;
    updatesCounter: number;
    eventListeners: Array<[string, (...args: any[]) => void]>;
    constructor(page: Page);
    enable(): void;
    disable(): void;
    invalidate(): void;
    getNodeById(nodeId: number): CdpNode | null;
    resolveNodeFromEl(el: RemoteElement): Promise<CdpNode | null>;
    requestChildNodes(nodeId: number): void;
    querySelectorAll(nodeId: number, selector: string): Promise<number[]>;
    highlightElement(el: RemoteElement): void;
    highlightNode(node: CdpNode, highlightConfig?: any): void;
    hideHighlight(): void;
    convertAttributes(cdpAttributes?: never[]): {};
    parseClassList(classAttr: string): string[];
    registerNode(parentNode: CdpNode | null, cdpNode: CdpNode): void;
    unregisterNode(node: CdpNode): void;
    onSetChildNodes(params: {
        parentId: number;
        nodes: CdpNode[];
    }): void;
    onAttributeModified(params: {
        nodeId: number;
        name: string;
        value: string;
    }): void;
    onAttributeRemoved(params: {
        nodeId: number;
        name: string;
    }): void;
    onChildNodeInserted(params: {
        parentNodeId: number;
        previousNodeId: number;
        node: CdpNode;
    }): void;
    onChildNodeRemoved(params: {
        parentNodeId: number;
        nodeId: number;
    }): void;
    onChildNodeCountUpdated(params: {
        nodeId: number;
        childNodeCount: number;
    }): void;
    onCharacterDataModified(params: {
        nodeId: number;
        characterData: string;
    }): void;
    onPseudoElementAdded(params: {
        parentId: number;
        pseudoElement: CdpNode;
    }): void;
    onPseudoElementRemoved(params: {
        pseudoElementId: number;
    }): void;
}
//# sourceMappingURL=dom.d.ts.map