/**
 * CLI Settings File Manager
 * Manages Claude CLI settings files for endpoint configuration
 *
 * Storage: ~/.ccw/cli-settings/{endpoint-id}.json
 */
import { ClaudeCliSettings, EndpointSettings, SettingsListResponse, SettingsOperationResult, SaveEndpointRequest } from '../types/cli-settings.js';
/**
 * Get CLI settings directory path
 */
export declare function getCliSettingsDir(): string;
/**
 * Get settings file path for an endpoint
 */
export declare function getSettingsFilePath(endpointId: string): string;
/**
 * Ensure settings directory exists
 */
export declare function ensureSettingsDir(): void;
/**
 * Save endpoint settings to file
 */
export declare function saveEndpointSettings(request: SaveEndpointRequest): SettingsOperationResult;
/**
 * Load endpoint settings from file
 */
export declare function loadEndpointSettings(endpointId: string): EndpointSettings | null;
/**
 * Delete endpoint settings
 */
export declare function deleteEndpointSettings(endpointId: string): SettingsOperationResult;
/**
 * List all endpoint settings
 */
export declare function listAllSettings(): SettingsListResponse;
/**
 * Toggle endpoint enabled status
 */
export declare function toggleEndpointEnabled(endpointId: string, enabled: boolean): SettingsOperationResult;
/**
 * Get settings file path for CLI execution
 * Returns null if endpoint not found or disabled
 */
export declare function getExecutableSettingsPath(endpointId: string): string | null;
/**
 * Create settings from LiteLLM provider configuration
 */
export declare function createSettingsFromProvider(provider: {
    apiKey?: string;
    apiBase?: string;
    name?: string;
}, options?: {
    model?: string;
    includeCoAuthoredBy?: boolean;
}): ClaudeCliSettings;
/**
 * Validate and sanitize endpoint ID
 */
export declare function sanitizeEndpointId(id: string): string;
/**
 * Check if endpoint ID exists
 */
export declare function endpointExists(endpointId: string): boolean;
/**
 * Get enabled endpoints only
 */
export declare function getEnabledEndpoints(): EndpointSettings[];
/**
 * Find endpoint by name (case-insensitive)
 * Useful for CLI where user types --tool doubao instead of --tool ep-xxx
 */
export declare function findEndpointByName(name: string): EndpointSettings | null;
/**
 * Find endpoint by ID or name
 * First tries exact ID match, then falls back to name match
 */
export declare function findEndpoint(idOrName: string): EndpointSettings | null;
/**
 * Validate endpoint name for CLI compatibility
 * Name must be: lowercase, alphanumeric, hyphens allowed, no spaces or special chars
 */
export declare function validateEndpointName(name: string): {
    valid: boolean;
    error?: string;
};
//# sourceMappingURL=cli-settings-manager.d.ts.map