/** * Client Service Interfaces * * Interfaces for client services including WebSocket, HTTP, and logging. */ import { QPubWebSocket } from "./websocket"; /** * Interface for WebSocket client management */ export interface IWebSocketClient { /** * Connect to WebSocket URL */ connect(url: string): void; /** * Disconnect from WebSocket */ disconnect(): void; /** * Check if connected */ isConnected(): boolean; /** * Get the underlying socket instance */ getSocket(): QPubWebSocket | null; /** * Send data through the socket */ send(data: string | ArrayBufferLike | Blob | ArrayBufferView): void; /** * Reset the client */ reset(): void; } /** * Interface for HTTP client */ export interface IHttpClient { /** * Make a GET request */ get(url: string, headers?: HeadersInit): Promise; /** * Make a POST request */ post(url: string, data?: any, headers?: HeadersInit): Promise; /** * Make a PUT request */ put(url: string, data?: any, headers?: HeadersInit): Promise; /** * Make a DELETE request */ delete(url: string, headers?: HeadersInit): Promise; /** * Make a PATCH request */ patch(url: string, data?: any, headers?: HeadersInit): Promise; } /** * Interface for logging functionality */ export interface ILogger { /** * Log error message */ error(message: string, ...args: any[]): void; /** * Log warning message */ warn(message: string, ...args: any[]): void; /** * Log info message */ info(message: string, ...args: any[]): void; /** * Log debug message */ debug(message: string, ...args: any[]): void; /** * Log trace message */ trace(message: string, ...args: any[]): void; } /** * Factory interface for creating loggers */ export interface ILoggerFactory { /** * Create a logger for a specific component */ createLogger(component: string): ILogger; } //# sourceMappingURL=clients.d.ts.map