/** * Base Client * * Shared HTTP client functionality for all data sources. * Provides common patterns for fetch, error handling, and retries. */ /** * Options for fetch requests */ export interface FetchOptions extends RequestInit { /** Request timeout in milliseconds */ timeout?: number; /** Number of retry attempts for transient failures */ retries?: number; /** Custom error handler */ onError?: (error: Error) => void; /** Skip default Accept header (for APIs that reject application/json) */ skipAcceptHeader?: boolean; } /** * Base client with shared fetch functionality */ export declare abstract class BaseClient { protected readonly baseUrl: string; protected readonly userAgent: string; protected readonly defaultTimeout: number; constructor(baseUrl: string, options?: { userAgent?: string; timeout?: number; }); /** * Make a JSON fetch request with standard error handling */ protected fetchJSON(url: string, options?: FetchOptions): Promise; /** * Make a fetch request and return raw response (for header-based pagination) */ protected fetchWithHeaders(url: string, options?: FetchOptions): Promise<{ data: T; headers: Headers; }>; /** * Build URL with query parameters */ protected buildUrl(path: string, params?: Record): string; /** * Delay helper for retries */ protected delay(ms: number): Promise; } //# sourceMappingURL=base-client.d.ts.map