/**
 * CLIProxy Variant Settings File Manager
 *
 * Handles creation of settings.json files for CLIProxy variants.
 * These files contain environment variables for Claude CLI integration.
 */
import { CLIProxyProfileName } from '../../auth/profile-detector';
import { CompositeTierConfig } from '../../config/unified-config-types';
/**
 * Get settings file path for a variant
 */
export declare function getSettingsFilePath(provider: CLIProxyProfileName, name: string): string;
/**
 * Get settings file name (without path)
 */
export declare function getSettingsFileName(provider: CLIProxyProfileName, name: string): string;
/**
 * Get relative settings path with ~ prefix
 */
export declare function getRelativeSettingsPath(provider: CLIProxyProfileName, name: string): string;
/**
 * Create settings.json file for CLIProxy variant (legacy mode)
 */
export declare function createSettingsFile(name: string, provider: CLIProxyProfileName, model: string, port?: number): string;
/**
 * Create settings.json file for CLIProxy variant (unified mode)
 */
export declare function createSettingsFileUnified(name: string, provider: CLIProxyProfileName, model: string, port?: number): string;
/**
 * Create settings.json file for a composite variant.
 */
export declare function createCompositeSettingsFile(name: string, tiers: {
    opus: CompositeTierConfig;
    sonnet: CompositeTierConfig;
    haiku: CompositeTierConfig;
}, defaultTier: 'opus' | 'sonnet' | 'haiku', port?: number, settingsPathOverride?: string): string;
/**
 * Get relative settings path for a composite variant
 */
export declare function getCompositeRelativeSettingsPath(name: string): string;
/**
 * Delete settings file if it exists.
 * Uses expandPath() for cross-platform path handling.
 */
export declare function deleteSettingsFile(settingsPath: string): boolean;
/**
 * Update model in an existing settings file
 */
export declare function updateSettingsModel(settingsPath: string, model: string, provider?: CLIProxyProfileName, options?: {
    rewriteHaikuModel?: (model: string) => string;
}): void;
/**
 * Update provider + model core env vars in an existing single-provider settings file.
 * Preserves non-core env vars and top-level settings keys (hooks, presets, etc.).
 */
export declare function updateSettingsProviderAndModel(settingsPath: string, provider: CLIProxyProfileName, model: string, port?: number): void;
//# sourceMappingURL=variant-settings.d.ts.map