import { EState } from './constants'; import { TContext, TContextMap, TAnyRoomState } from './types'; export declare const hasDirectPeerToPeer: ({ isDirectPeerToPeer, }: { isDirectPeerToPeer?: boolean; }) => boolean; export declare const STATE_DESCRIPTORS: { "call:idle": { guard: () => boolean; buildContext: () => {}; }; "call:connecting": { guard: (context: TContext) => context is TContextMap[EState.CONNECTING]; buildContext: (raw: TContext) => { number: string; answer: boolean; extraHeaders: string[] | undefined; }; }; "call:presentationCall": { guard: (context: TContext) => context is TContextMap[EState.PRESENTATION_CALL]; buildContext: (raw: TContext) => { number: string; answer: boolean; startedTimestamp: number; }; }; "call:roomPendingAuth": { guard: (raw: TContext) => boolean; buildContext: (raw: TContext) => TAnyRoomState; }; /** Токен из TOKEN_ISSUED может уже лежать в context — это не переводит в IN_ROOM. */ "call:purgatory": { guard: (raw: TContext) => boolean; buildContext: (raw: TContext) => TAnyRoomState; }; "call:p2pRoom": { guard: (raw: TContext) => boolean; buildContext: (raw: TContext) => TAnyRoomState; }; "call:directP2pRoom": { guard: (raw: TContext) => boolean; buildContext: (raw: TContext) => { isDirectPeerToPeer: boolean; startedTimestamp: number; number: string; answer: boolean; room: string; participantName: string; }; }; /** IN_ROOM только если `conferenceForToken === room` (в т.ч. после enter-room с bearer, где conference задаётся как room). */ "call:inRoom": { guard: (raw: TContext) => boolean; buildContext: (raw: TContext) => { token: string; conferenceForToken: string; startedTimestamp: number; number: string; answer: boolean; room: string; participantName: string; }; }; "call:disconnecting": { guard: (raw: TContext) => boolean; buildContext: () => {}; }; };