UNPKG

fleeta-api-lib

Version:

A comprehensive library for fleet management applications - API, Auth, Device management

43 lines 1.36 kB
/** * Connection State Machine * Manages complex connection state transitions with clear rules */ import type { ConnectionState } from './WebRTCProvider'; /** * Connection state transition events */ export type ConnectionEvent = 'CONNECT' | 'CONNECTION_ESTABLISHED' | 'CONNECTION_FAILED' | 'DISCONNECT' | 'RECONNECT' | 'CHANNEL_CHANGE_START' | 'CHANNEL_CHANGE_COMPLETE' | 'ERROR'; /** * Connection State Machine class * Ensures valid state transitions and prevents invalid state changes */ export declare class ConnectionStateMachine { private currentState; private transitions; private callbacks; constructor(initialState?: ConnectionState); /** * Get current state */ getState(): ConnectionState; /** * Check if transition is valid */ canTransition(event: ConnectionEvent): boolean; /** * Execute state transition */ transition(event: ConnectionEvent): boolean; /** * Set event callbacks */ setCallbacks(callbacks: { onStateChange?: (newState: ConnectionState, previousState: ConnectionState, event: ConnectionEvent) => void; onInvalidTransition?: (currentState: ConnectionState, event: ConnectionEvent) => void; }): void; /** * Reset to initial state */ reset(): void; } //# sourceMappingURL=ConnectionStateMachine.d.ts.map