/** * Common interceptors for API requests and responses */ import type { RequestInterceptor, ResponseInterceptor } from '../types'; /** * Authentication interceptor that adds bearer token to requests */ export declare function createAuthInterceptor(getToken: () => string | null): RequestInterceptor; /** * Base URL interceptor */ export declare function createBaseUrlInterceptor(baseURL: string): RequestInterceptor; /** * Request ID interceptor that adds unique request IDs */ export declare function createRequestIdInterceptor(): RequestInterceptor; /** * Content type interceptor */ export declare function createContentTypeInterceptor(contentType: string): RequestInterceptor; /** * User agent interceptor */ export declare function createUserAgentInterceptor(userAgent: string): RequestInterceptor; /** * API version interceptor */ export declare function createApiVersionInterceptor(version: string, headerName?: string): RequestInterceptor; /** * Logging interceptor for requests */ export declare function createRequestLoggingInterceptor(logger?: (message: string, data?: any) => void): RequestInterceptor; /** * Logging interceptor for responses */ export declare function createResponseLoggingInterceptor(logger?: (message: string, data?: any) => void): ResponseInterceptor; /** * Response transformation interceptor */ export declare function createResponseTransformInterceptor(transformer: (data: T) => U): ResponseInterceptor; /** * Error handling interceptor */ export declare function createErrorHandlingInterceptor(errorHandler: (error: any) => any): ResponseInterceptor; /** * Timeout interceptor */ export declare function createTimeoutInterceptor(timeout: number): RequestInterceptor; /** * Cache control interceptor */ export declare function createCacheControlInterceptor(cacheControl: string): RequestInterceptor; /** * CSRF token interceptor */ export declare function createCsrfInterceptor(getToken: () => string | null, headerName?: string): RequestInterceptor; /** * Rate limit handling interceptor */ export declare function createRateLimitInterceptor(onRateLimit?: (retryAfter: number) => void): ResponseInterceptor; /** * Response validation interceptor */ export declare function createResponseValidationInterceptor(validator: (data: any) => boolean, errorMessage?: string): ResponseInterceptor; /** * Request deduplication interceptor */ export declare function createDeduplicationInterceptor(): { requestInterceptor: RequestInterceptor; responseInterceptor: ResponseInterceptor; }; /** * Performance monitoring interceptor */ export declare function createPerformanceInterceptor(onMetrics?: (metrics: { url: string; method: string; duration: number; status: number; }) => void): { requestInterceptor: RequestInterceptor; responseInterceptor: ResponseInterceptor; }; //# sourceMappingURL=common-interceptors.d.ts.map