/** * Configuration Builder * Handles merging and building configurations with proper precedence */ import type { ApiConfig } from '@plyaz/types/api'; /** * Configuration builder class * Provides a fluent API for building configurations */ export declare class ConfigBuilder { private config; /** * Set the base configuration */ base(config: ApiConfig): this; /** * Add a configuration layer */ with(config: Partial): this; /** * Add request interceptor(s) */ onRequest(interceptor: ApiConfig['onRequest']): this; /** * Add response interceptor(s) */ onResponse(interceptor: ApiConfig['onResponse']): this; /** * Add error interceptor(s) */ onError(interceptor: ApiConfig['onError']): this; /** * Set retry configuration */ retry(config: ApiConfig['retry']): this; /** * Set cache configuration */ cache(config: ApiConfig['cache']): this; /** * Check if polling config should be merged */ private shouldMergePolling; /** * Set polling configuration */ polling(config: ApiConfig['polling']): this; /** * Build the final configuration */ build(): ApiConfig; } /** * Create a new configuration builder */ export declare function createConfigBuilder(base?: ApiConfig): ConfigBuilder; /** * Merge multiple configurations * Priority: left to right (later configs override earlier ones) */ export declare function mergeConfigs(...configs: Partial[]): ApiConfig; //# sourceMappingURL=configBuilder.d.ts.map