import { EState, TCallReconnectMachineDeps } from './types'; /** * Конечный автомат редиала при сетевом обрыве звонка. * * Граф состояний: * - `idle` — неармирован; ждёт `RECONNECT.ARM`. * - `armed` — активен, слушает `CALL.FAILED`. * - `evaluating` — решает ветку: backoff / waitingSignaling / limitReached. * - `backoff` — таймаут задержки; затем `attempting`. * - `waitingSignaling` — ждём восстановления сигнализации; затем `backoff`. * - `attempting` — invoke `startCall`. * - `limitReached` — исчерпан лимит; ждём `RECONNECT.FORCE` или `RECONNECT.DISARM`. * - `errorTerminal` — нефатальные ветки ретрая (halt ошибка или timeout сигнализации). */ export declare const createCallReconnectMachine: (deps: TCallReconnectMachineDeps) => import('xstate').StateMachine<{ parameters: import('..').TCallRedialParameters | undefined; attempt: number; nextDelayMs: number; lastError: unknown; lastFailureCause: string | undefined; cancelledReason: import('..').TCancelledReason | undefined; } | ({ parameters: import('..').TCallRedialParameters | undefined; attempt: number; nextDelayMs: number; lastError: unknown; lastFailureCause: string | undefined; cancelledReason: import('..').TCancelledReason | undefined; } & { parameters: undefined; }) | ({ parameters: import('..').TCallRedialParameters | undefined; attempt: number; nextDelayMs: number; lastError: unknown; lastFailureCause: string | undefined; cancelledReason: import('..').TCancelledReason | undefined; } & { parameters: import('..').TCallRedialParameters; }) | ({ parameters: import('..').TCallRedialParameters | undefined; attempt: number; nextDelayMs: number; lastError: unknown; lastFailureCause: string | undefined; cancelledReason: import('..').TCancelledReason | undefined; } & { parameters: import('..').TCallRedialParameters; }) | ({ parameters: import('..').TCallRedialParameters | undefined; attempt: number; nextDelayMs: number; lastError: unknown; lastFailureCause: string | undefined; cancelledReason: import('..').TCancelledReason | undefined; } & { parameters: import('..').TCallRedialParameters; }) | ({ parameters: import('..').TCallRedialParameters | undefined; attempt: number; nextDelayMs: number; lastError: unknown; lastFailureCause: string | undefined; cancelledReason: import('..').TCancelledReason | undefined; } & { parameters: import('..').TCallRedialParameters; }) | ({ parameters: import('..').TCallRedialParameters | undefined; attempt: number; nextDelayMs: number; lastError: unknown; lastFailureCause: string | undefined; cancelledReason: import('..').TCancelledReason | undefined; } & { parameters: import('..').TCallRedialParameters; }) | ({ parameters: import('..').TCallRedialParameters | undefined; attempt: number; nextDelayMs: number; lastError: unknown; lastFailureCause: string | undefined; cancelledReason: import('..').TCancelledReason | undefined; } & { parameters: import('..').TCallRedialParameters; }), { type: "RECONNECT.ARM"; parameters: import('..').TCallRedialParameters; } | { type: "RECONNECT.DISARM"; reason?: import('..').TCancelledReason; } | { type: "RECONNECT.FORCE"; } | { type: "CALL.FAILED"; event: import('@krivega/jssip').EndEvent; } | { type: "CALL.ENDED"; event?: import('@krivega/jssip').EndEvent; } | { type: "CONN.CONNECTED"; } | { type: "CONN.DISCONNECTED"; }, { [x: string]: import('xstate').ActorRefFromLogic | import('xstate').PromiseActorLogic | import('xstate').PromiseActorLogic> | undefined; }, { src: "delayBeforeAttempt"; logic: import('xstate').PromiseActorLogic; id: string | undefined; } | { src: "waitSignalingReady"; logic: import('xstate').PromiseActorLogic; id: string | undefined; } | { src: "performAttempt"; logic: import('xstate').PromiseActorLogic; id: string | undefined; }, { type: "cancelAll"; params: unknown; } | { type: "assignArm"; params: unknown; } | { type: "assignDisarm"; params: unknown; } | { type: "assignFailureDetected"; params: unknown; } | { type: "assignNextDelay"; params: unknown; } | { type: "assignIncrementAttempt"; params: unknown; } | { type: "assignResetAttempt"; params: unknown; } | { type: "assignAttemptError"; params: unknown; } | { type: "emitArmedAction"; params: unknown; } | { type: "emitDisarmedAction"; params: unknown; } | { type: "emitFailureDetectedAction"; params: unknown; } | { type: "emitAttemptScheduledAction"; params: unknown; } | { type: "emitAttemptStartedAction"; params: unknown; } | { type: "emitAttemptSucceededAction"; params: unknown; } | { type: "emitAttemptFailedAction"; params: unknown; } | { type: "emitWaitingSignalingAction"; params: unknown; } | { type: "emitLimitReachedAction"; params: unknown; } | { type: "emitLimitReachedTerminalAction"; params: unknown; } | { type: "emitErrorTerminalAction"; params: unknown; } | { type: "registerAttemptStart"; params: unknown; } | { type: "registerAttemptFinish"; params: unknown; } | { type: "resetAttemptsState"; params: unknown; }, { type: "isLimitReached"; params: unknown; } | { type: "isNoRetryPolicy"; params: unknown; } | { type: "isNetworkFailure"; params: unknown; } | { type: "isSignalingReady"; params: unknown; } | { type: "isAttemptCancelled"; params: unknown; }, never, EState, string, import('xstate').NonReducibleUnknown, import('xstate').NonReducibleUnknown, import('xstate').EventObject, import('xstate').MetaObject, { id: "callReconnect"; states: { readonly idle: {}; readonly armed: {}; readonly evaluating: {}; readonly backoff: {}; readonly waitingSignaling: {}; readonly attempting: {}; readonly limitReached: {}; readonly errorTerminal: {}; }; }>;