import type { WebSocket as WSWebSocket } from "ws"; import type { WebInspectorClient } from "../webinspector"; export type CdpMessage = { id?: number; method?: string; params?: any; result?: any; error?: any; }; type Filter = (msg: CdpMessage) => Promise; export declare class Target { private ws; readonly wi: WebInspectorClient; readonly appId: string; readonly pageId: number; readonly senderKey: string; private filters; private toolRequestMap; private adapterRequestMap; private requestId; private innerTargetId; private wrappedAckIds; private outgoingQueue; private sawAnyTargetCreated; constructor(ws: WSWebSocket, wi: WebInspectorClient, appId: string, pageId: number, senderKey: string); addMessageFilter(method: string, filter: Filter): void; /** Adapter-initiated call into Safari, awaitable. Uses a negative id. */ callTarget(method: string, params?: any): Promise; fireEventToTools(method: string, params: any): void; fireResultToTools(id: number, result: any): void; fireErrorToTools(id: number, error: { code?: number; message: string; }): void; replyEmpty(msg: CdpMessage): Promise; /** Called by the server when the DevTools client sends a frame. */ onMessageFromTools(rawMessage: string): Promise; /** Called by the WebInspector pump when a forward-socket frame arrives * for THIS sender. */ onMessageFromTarget(rawMessage: string): Promise; private sendRaw; private flushQueue; private writeFrame; private sendToTools; } export {};