import type { Interceptor, InterceptorOptions, InterceptorHandle, HttpRequestOptions, HttpResponse, HttpError } from '../definitions';
/**
 * Interceptor Manager
 * Handles request/response interceptors with priority and scope support
 */
export declare class InterceptorManager {
    private interceptors;
    private interceptorCounter;
    /**
     * Add an interceptor to the request/response chain
     */
    addInterceptor(interceptor: Interceptor, options?: InterceptorOptions): Promise<InterceptorHandle>;
    /**
     * Remove an interceptor by handle or ID
     */
    removeInterceptor(handle: InterceptorHandle | string): Promise<void>;
    /**
     * Remove all interceptors
     */
    removeAllInterceptors(): Promise<void>;
    /**
     * Get all registered interceptors
     */
    getInterceptors(): Promise<InterceptorHandle[]>;
    /**
     * Execute request interceptors
     */
    executeRequestInterceptors(config: HttpRequestOptions): Promise<HttpRequestOptions>;
    /**
     * Execute response interceptors
     */
    executeResponseInterceptors(response: HttpResponse): Promise<HttpResponse>;
    /**
     * Execute error interceptors
     */
    executeErrorInterceptors(error: HttpError): Promise<HttpResponse | void>;
    /**
     * Get all interceptors (internal format)
     */
    getInterceptorsInternal(): Array<{
        id: string;
        interceptor: Interceptor;
        options: InterceptorOptions;
        enabled: boolean;
    }>;
}
//# sourceMappingURL=interceptor.d.ts.map