export interface PresetProvider {
    name: string;
    type: string;
    binary?: string;
    baseUrl?: string;
    apiKey?: string;
    models: Array<{
        id: string;
        aliases?: string[];
        contextWindow?: number;
        capabilities?: string[];
    }>;
}
export interface RoutingRule {
    name: string;
    condition: string;
    model: string;
}
export interface ConfigPreset {
    name: string;
    description?: string;
    providers: PresetProvider[];
    defaultRouting?: {
        rules?: RoutingRule[];
        fallback?: string;
    };
    synapseIntegration?: {
        enabled: boolean;
        telemetryEndpoint?: string;
        configSync?: boolean;
    };
}
export interface ConduitConfig {
    Providers?: any[];
    providers?: any[];
    Router?: {
        default?: string;
        longContext?: string;
        background?: string;
        think?: string;
    };
    preset?: string;
    presetConfig?: ConfigPreset;
    Port?: number;
    LogLevel?: string;
    LOG?: boolean;
}
export declare class ConfigPresetManager {
    private static presetCache;
    static loadPreset(presetPath: string): Promise<ConfigPreset>;
    static loadBuiltinPreset(presetName: string): Promise<ConfigPreset>;
    static applyPresetToConfig(config: ConduitConfig): Promise<ConduitConfig>;
    private static validatePreset;
    private static convertProvidersToLegacyFormat;
    static getAvailableModels(config: ConduitConfig): string[];
    static getRoutingRules(config: ConduitConfig): RoutingRule[];
    static clearCache(): void;
}
//# sourceMappingURL=config-presets.d.ts.map