import { BaseStateMachine } from '../../tools/BaseStateMachine'; import { createCallReconnectMachine } from './createCallReconnectMachine'; import { EState, TCallReconnectEvent, TContext, TContextMap } from './types'; type TMachine = ReturnType; export type TSnapshot = { value: EState.IDLE; context: TContextMap[EState.IDLE]; } | { value: EState.ARMED; context: TContextMap[EState.ARMED]; } | { value: EState.EVALUATING; context: TContextMap[EState.EVALUATING]; } | { value: EState.BACKOFF; context: TContextMap[EState.BACKOFF]; } | { value: EState.WAITING_SIGNALING; context: TContextMap[EState.WAITING_SIGNALING]; } | { value: EState.ATTEMPTING; context: TContextMap[EState.ATTEMPTING]; } | { value: EState.LIMIT_REACHED; context: TContextMap[EState.LIMIT_REACHED]; } | { value: EState.ERROR_TERMINAL; context: TContextMap[EState.ERROR_TERMINAL]; }; export declare class CallReconnectStateMachine extends BaseStateMachine { constructor(machine: TMachine); send(event: TCallReconnectEvent): void; } export declare const createCallReconnectStateMachine: (deps: Parameters[0]) => CallReconnectStateMachine; export type { CallReconnectStateMachine as ICallReconnectStateMachine };