/**
 * Stream signaling client — connects to the backend WebSocket endpoint
 * for WebRTC signaling relay.
 *
 * The backend only relays SDP offers/answers and ICE candidates between
 * the streamer (this extension) and viewers. No media passes through.
 */
export interface StreamSignalingConfig {
    signalingUrl: string;
    sessionId: string;
    iceServers: Array<{
        urls: string | string[];
        username?: string;
        credential?: string;
    }>;
}
export declare class SignalingClient {
    private readonly config;
    private ws;
    private connected;
    constructor(config: StreamSignalingConfig);
    connect(): Promise<void>;
    private handleMessage;
    send(data: Record<string, unknown>): void;
    close(): void;
    isConnected(): boolean;
}
//# sourceMappingURL=signaling-client.d.ts.map