import { IRequestInterceptor, IResponseInterceptor } from '../types/interceptor';
export type LogLevel = 'debug' | 'info' | 'warn' | 'error';
export interface LoggingOptions {
    /**
     * Minimum log level to output
     * @default 'info'
     */
    level?: LogLevel;
    /**
     * Custom logger function
     * @default console.log
     */
    logger?: (level: LogLevel, message: string, data?: any) => void;
    /**
     * Whether to log request details
     * @default true
     */
    logRequest?: boolean;
    /**
     * Whether to log response details
     * @default true
     */
    logResponse?: boolean;
    /**
     * Whether to log timing information
     * @default true
     */
    logTiming?: boolean;
}
/**
 * Creates a request logging interceptor
 */
export declare function requestLoggingInterceptor(options?: LoggingOptions): IRequestInterceptor;
/**
 * Creates a response logging interceptor
 */
export declare function responseLoggingInterceptor(options?: LoggingOptions): IResponseInterceptor;
/**
 * Creates both request and response logging interceptors
 */
export declare function loggingInterceptor(options?: LoggingOptions): {
    request: IRequestInterceptor;
    response: IResponseInterceptor;
};
