export interface HttpClientOptions { baseUrl: string; accessKey?: string; managementKey?: string; localPassword?: string; fetch?: typeof fetch; } export interface RequestOptions { query?: Record; headers?: Record; } export declare class BaseHttpClient { readonly baseUrl: string; protected accessKey?: string; protected managementKey?: string; protected localPassword?: string; protected fetchImpl: typeof fetch; constructor(options: HttpClientOptions); setAccessKey(key?: string): void; setManagementKey(key?: string): void; setLocalPassword(value?: string): void; getWebsocketUrl(path?: string): string; protected buildUrl(path: string, query?: Record): string; protected requestJson(method: string, path: string, body?: unknown, options?: RequestOptions, auth?: 'access' | 'management' | 'local'): Promise; protected requestText(method: string, path: string, body?: string, options?: RequestOptions, auth?: 'access' | 'management' | 'local'): Promise; protected requestRaw(method: string, path: string, body?: BodyInit, options?: RequestOptions, auth?: 'access' | 'management' | 'local'): Promise; protected applyAuth(headers: Record, auth?: 'access' | 'management' | 'local'): void; protected throwApiError(res: Response): Promise; }