/**
 * Main unified configuration interface, factory, and type guard.
 *
 * The UnifiedConfig type is the root of the entire config.yaml schema.
 * This file imports all section types from their respective schema modules.
 */
import type { AccountConfig, ProfileConfig, DashboardAuthConfig } from './auth';
import type { CLIProxyConfig } from './cliproxy';
import type { LoggingConfig, PreferencesConfig } from './logging';
import type { WebSearchConfig } from './websearch';
import type { GlobalEnvConfig, ContinuityConfig, CopilotConfig, CursorConfig, CliproxyServerConfig, OpenAICompatProxyConfig, ImageAnalysisConfig } from './providers';
import type { QuotaManagementConfig } from './quota';
import type { ThinkingConfig } from './thinking';
import type { OfficialChannelsConfig } from './channels';
import type { BrowserConfig } from './browser';
/**
 * Main unified configuration structure.
 * Stored in ~/.ccs/config.yaml
 */
export interface UnifiedConfig {
    /** Config version */
    version: number;
    /** Flag indicating setup wizard has been completed */
    setup_completed?: boolean;
    /** Default profile name to use when none specified */
    default?: string;
    /** Account-based profiles (isolated Claude instances) */
    accounts: Record<string, AccountConfig>;
    /** API-based profiles (env var injection) */
    profiles: Record<string, ProfileConfig>;
    /** CLIProxy configuration */
    cliproxy: CLIProxyConfig;
    /** OpenAI-compatible local proxy configuration */
    proxy?: OpenAICompatProxyConfig;
    /** CCS-owned structured logging configuration */
    logging?: LoggingConfig;
    /** User preferences */
    preferences: PreferencesConfig;
    /** WebSearch configuration */
    websearch?: WebSearchConfig;
    /** Global environment variables for all non-Claude subscription profiles */
    global_env?: GlobalEnvConfig;
    /** Cross-profile continuity inheritance mapping */
    continuity?: ContinuityConfig;
    /** Copilot API configuration (deprecated GitHub Copilot compatibility bridge) */
    copilot?: CopilotConfig;
    /** Cursor IDE configuration (Cursor proxy daemon) */
    cursor?: CursorConfig;
    /** CLIProxy server configuration for remote/local mode */
    cliproxy_server?: CliproxyServerConfig;
    /** Quota management configuration (v7+) */
    quota_management?: QuotaManagementConfig;
    /** Thinking/reasoning budget configuration (v8+) */
    thinking?: ThinkingConfig;
    /** Official Channels runtime auto-enable preferences (v11+) */
    channels?: OfficialChannelsConfig;
    /** Dashboard authentication configuration (optional) */
    dashboard_auth?: DashboardAuthConfig;
    /** Browser automation configuration */
    browser?: BrowserConfig;
    /** Image analysis configuration (vision via CLIProxy) */
    image_analysis?: ImageAnalysisConfig;
}
/**
 * Create an empty unified config with defaults.
 */
export declare function createEmptyUnifiedConfig(): UnifiedConfig;
/**
 * Type guard for UnifiedConfig.
 * Relaxed validation: accepts configs with version >= 1 and any subset of sections.
 * Missing sections will be filled with defaults during merge.
 */
export declare function isUnifiedConfig(obj: unknown): obj is UnifiedConfig;
//# sourceMappingURL=unified-config.d.ts.map