UNPKG

image-asset-manager

Version:

A comprehensive image asset management tool for frontend projects

94 lines 3.18 kB
declare global { interface Window { setTimeout: (callback: () => void, delay: number) => NodeJS.Timeout; setInterval: (callback: () => void, delay: number) => NodeJS.Timeout; clearTimeout: (id: NodeJS.Timeout) => void; clearInterval: (id: NodeJS.Timeout) => void; } class WebSocket { static readonly CONNECTING: number; static readonly OPEN: number; static readonly CLOSING: number; static readonly CLOSED: number; readonly CONNECTING: number; readonly OPEN: number; readonly CLOSING: number; readonly CLOSED: number; readonly readyState: number; onopen: ((event: Event) => void) | null; onclose: ((event: CloseEvent) => void) | null; onerror: ((event: Event) => void) | null; onmessage: ((event: MessageEvent) => void) | null; constructor(url: string); send(data: string): void; close(code?: number, reason?: string): void; } interface MessageEvent { data: string; } interface CloseEvent { code: number; reason: string; wasClean: boolean; } } export interface WebSocketMessage { type: string; data: any; timestamp: number; } export interface WebSocketClientOptions { url: string; reconnectInterval?: number; maxReconnectAttempts?: number; pingInterval?: number; } export interface WebSocketEventHandlers { onConnect?: () => void; onDisconnect?: () => void; onMessage?: (message: WebSocketMessage) => void; onError?: (error: Event) => void; onFileChange?: (data: any) => void; onStatsUpdate?: (data: any) => void; onDataUpdated?: (data: any) => void; } export declare class WebSocketClient { private ws; private options; private handlers; private reconnectAttempts; private reconnectTimer; private pingTimer; private isConnected; private isReconnecting; constructor(options: WebSocketClientOptions); connect(): void; disconnect(): void; private setupEventHandlers; private handleMessage; private scheduleReconnect; private startPing; private clearTimers; send(type: string, data: any): void; subscribe(events: string[]): void; requestData(type: string, params?: any): void; requestImages(page?: number, limit?: number, filters?: {}): void; requestStats(): void; requestDuplicates(): void; on(event: keyof WebSocketEventHandlers, handler: Function): void; off(event: keyof WebSocketEventHandlers): void; isConnectedStatus(): boolean; getReconnectAttempts(): number; getReadyState(): number; } export declare function createWebSocketClient(port?: number, handlers?: WebSocketEventHandlers): WebSocketClient; export declare function useWebSocketClient(port?: number): { client: WebSocketClient; connect: () => void; disconnect: () => void; send: (type: string, data: any) => void; subscribe: (events: string[]) => void; isConnected: () => boolean; on: (event: keyof WebSocketEventHandlers, handler: Function) => void; }; //# sourceMappingURL=WebSocketClient.d.ts.map