/**
 * 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<T, U>(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