UNPKG

fleeta-api-lib

Version:

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

62 lines 2.09 kB
/** * GPS WebSocket Factory * Factory pattern with dependency injection for GPS WebSocket components */ import { ConnectionManager, type WebSocketDependency } from './ConnectionManager'; import { AuthManager } from './AuthManager'; import { EventManager } from './EventManager'; import { RequestManager } from './RequestManager'; import { GpsConnectionStateMachine } from './GpsConnectionStateMachine'; import type { GpsWebSocketSDKOptions } from './types'; /** * GPS WebSocket dependencies for testing and flexibility */ export interface GpsWebSocketDependencies { WebSocket?: WebSocketDependency; console?: Console; setTimeout?: typeof setTimeout; clearTimeout?: typeof clearTimeout; } /** * GPS WebSocket Factory class * Creates GPS WebSocket components with proper dependency injection */ export declare class GpsWebSocketFactory { private dependencies; constructor(dependencies?: GpsWebSocketDependencies); /** * Create Connection Manager */ createConnectionManager(url: string, maxReconnectAttempts?: number, reconnectDelay?: number): ConnectionManager; /** * Create Authentication Manager */ createAuthManager(baseUrl: string, authMethod?: 'query' | 'header' | 'message'): AuthManager; /** * Create Event Manager */ createEventManager(): EventManager; /** * Create Request Manager */ createRequestManager(defaultTimeout?: number): RequestManager; /** * Create State Machine */ createStateMachine(): GpsConnectionStateMachine; /** * Create complete GPS WebSocket SDK components */ createComponents(options: GpsWebSocketSDKOptions): { connectionManager: ConnectionManager; authManager: AuthManager; eventManager: EventManager; requestManager: RequestManager; stateMachine: GpsConnectionStateMachine; }; /** * Update dependencies (useful for testing) */ updateDependencies(newDependencies: Partial<GpsWebSocketDependencies>): void; } //# sourceMappingURL=GpsWebSocketFactory.d.ts.map