import { type Result } from 'option-t/plain_result';
import type { Protocol } from 'playwright-core/types/protocol';
import type { CDPSession } from '../infrastructure/cdp.js';
import { UnknownError } from '../error.js';
export interface ObjectModelTraverser {
    getDocument(): Promise<Result<Protocol.CommandReturnValues['DOM.getDocument'], Error>>;
    querySelectorAll(nodeId: number, selector: string): Promise<Result<Protocol.CommandReturnValues['DOM.querySelectorAll'], Error>>;
    describeNode(nodeId: number): Promise<Result<Protocol.CommandReturnValues['DOM.describeNode'], Error>>;
    getComputedStyleForNode(nodeId: number): Promise<Result<Protocol.CommandReturnValues['CSS.getComputedStyleForNode'], Error>>;
    getMatchedStylesForNode(nodeId: number): Promise<Result<Protocol.CommandReturnValues['CSS.getMatchedStylesForNode'], Error>>;
    forcePseudoState(nodeId: number, forcedPseudoClasses: string[]): Promise<Result<void, Error>>;
}
export declare class ObjectModelTraverserByCDP implements ObjectModelTraverser {
    private readonly cdp;
    constructor(cdp: CDPSession);
    static initialize(cdp: CDPSession): Promise<Result<ObjectModelTraverserByCDP, Error>>;
    getDocument(): Promise<Result<Protocol.DOM.getDocumentReturnValue, Error>>;
    querySelectorAll(nodeId: number, selector: string): Promise<Result<Protocol.DOM.querySelectorAllReturnValue, Error>>;
    describeNode(nodeId: number): Promise<Result<Protocol.DOM.describeNodeReturnValue, Error>>;
    getComputedStyleForNode(nodeId: number): Promise<Result<Protocol.CSS.getComputedStyleForNodeReturnValue, Error>>;
    getMatchedStylesForNode(nodeId: number): Promise<Result<Protocol.CSS.getMatchedStylesForNodeReturnValue, Error>>;
    forcePseudoState(nodeId: number, forcedPseudoClasses: string[]): Promise<import("option-t/plain_result").Err<UnknownError> | import("option-t/plain_result").Ok<undefined>>;
}
//# sourceMappingURL=object-model-traverser.d.ts.map