import type { P2PCandidateUpdateRequest, P2PSession, P2PTransportCandidate } from './types'; export interface P2PSignalingClientOptions { apiBaseUrl: string; nodeId: string; token?: string; fetchImpl?: typeof fetch; } export interface CreateP2PSessionInput { clientId: string; capabilities?: string[]; candidates?: P2PTransportCandidate[]; } export interface P2PSignalingClient { createP2PSession(request: CreateP2PSessionInput): Promise; listP2PSessions(): Promise; getP2PSession(sessionIdOrUrl: string): Promise; addP2PCandidates(sessionIdOrUrl: string, request: P2PCandidateUpdateRequest): Promise; } export declare class P2PSignalingRequestError extends Error { readonly status: number; readonly responseText: string; constructor(message: string, status: number, responseText: string); } export declare function createP2PSignalingClient(options: P2PSignalingClientOptions): P2PSignalingClient;