import { TypedEvents } from 'events-constructor'; import { EndEvent } from '@krivega/jssip'; import { TCancelledReason } from './types'; export declare const EVENT_NAMES: readonly ["armed", "disarmed", "failure-detected", "attempt-scheduled", "attempt-started", "attempt-succeeded", "attempt-failed", "waiting-signaling", "limit-reached", "cancelled", "status-changed", "termination-classified", "terminal"]; export type TEventMap = { armed: Record; disarmed: Record; 'failure-detected': { cause: string; originator: string; attempt: number; }; 'attempt-scheduled': { attempt: number; delayMs: number; }; 'attempt-started': { attempt: number; }; 'attempt-succeeded': { attempt: number; }; 'attempt-failed': { attempt: number; error: unknown; }; 'waiting-signaling': { timeoutMs: number; }; 'limit-reached': { attempts: number; }; cancelled: { reason: TCancelledReason; }; 'status-changed': { isReconnecting: boolean; }; 'termination-classified': { decision: 'redial' | 'finish'; event: EndEvent; }; terminal: { reason: 'limit-reached'; attempts: number; } | { reason: 'error-terminal'; error: unknown; }; }; export type TEvents = TypedEvents; export declare const createEvents: () => TypedEvents;