import EventEmitter from 'events';
export declare class MessagingClient extends EventEmitter {
    private incomingData;
    private pendingRequests;
    private readonly activeRequests;
    private connection?;
    connect(port: number): Promise<void>;
    disconnect(): void;
    private rejectAllRequests;
    request(requestProps: any): Promise<any>;
    private flushPendingRequests;
    private expectReply;
    private onData;
    private readMessage;
    private handleMessage;
    onError(error: Error): void;
    onEnd(): void;
    onTimeout(): void;
    getTargets(): Promise<any>;
    navigate(tabId: string, url: string): Promise<void>;
    attach(tabId: string): Promise<any>;
    getTargetFromDescriptor(descriptorId: string): Promise<{
        targetActor: any;
        consoleActor: any;
    } | {
        targetActor?: undefined;
        consoleActor?: undefined;
    }>;
    addTab(url: string): Promise<any>;
    navigateViaScript(consoleActor: string, url: string): Promise<void>;
    waitForPageReady(consoleActor: string, url: string, timeoutMs?: number): Promise<void>;
    waitForLoadEvent(tabId: string): Promise<void>;
    evaluate(tabId: string, expression: string): Promise<any>;
    evaluateRaw(tabId: string, expression: string): Promise<any>;
    private coerceResponseToString;
    private resolveActorForEvaluation;
    private serializeDocument;
    private extractShadowContent;
    private mergeShadowIntoMain;
    getPageHTML(descriptorActor: string, consoleActorHint?: string): Promise<string>;
    closeTab(tabId: string): Promise<void>;
}
