export declare const seedAgentNames: readonly ["lab-representative"];
export type SeedAgentName = (typeof seedAgentNames)[number];
export declare const modelProfiles: readonly ["orchestrator", "reasoning", "research", "coding", "execution", "review", "reporting"];
export type ModelProfile = (typeof modelProfiles)[number];
export declare const seedTeamCapabilityProfiles: readonly ["orchestration", "planning", "document_extraction", "research", "research_analysis", "critical_review", "coding", "execution", "verification", "review", "reporting"];
export type SeedTeamCapabilityProfile = (typeof seedTeamCapabilityProfiles)[number];
export type SeedTeamSpawnPolicy = {
    allowed: boolean;
    max_depth: number;
    requires_lab_representative_approval: boolean;
};
export type SeedAgentOverride = {
    model?: string;
    variant?: string;
    model_profile?: ModelProfile;
    fallbacks?: SeedModelFallbackConfig[];
    temperature?: number;
    prompt_append?: string;
    report_languages?: string[];
    korean_polish_skill?: string;
    use_korean_polish_for?: string[];
    disabled?: boolean;
};
export type SeedModelProfileConfig = {
    model?: string;
    variant?: string;
    fallbacks?: SeedModelFallbackConfig[];
};
export type SeedModelFallbackConfig = string | {
    model?: string;
    variant?: string;
    model_profile?: ModelProfile;
};
export type BuiltinMcpSwitch = boolean | "auto";
export type SeedPermissionExecutionMode = "autonomous" | "interactive";
export type SeedAgentConfig = {
    $schema?: string;
    default_run_agent: SeedAgentName;
    agent_order: SeedAgentName[];
    disabled_agents: string[];
    disabled_tools: string[];
    disabled_mcps: string[];
    isolation: {
        ignore_user_config: boolean;
        allow_host_agents: boolean;
        allow_host_commands: boolean;
        allow_host_mcp: boolean;
        allow_host_tool_config: boolean;
    };
    permissions: {
        execution_mode: SeedPermissionExecutionMode;
    };
    agents: Record<string, SeedAgentOverride>;
    model_profiles: Partial<Record<ModelProfile, SeedModelProfileConfig>>;
    trace: {
        enabled: boolean;
        artifact_root: string;
        sanitize_outputs: boolean;
        store_sanitized_full_prompts: boolean;
        store_sanitized_tool_outputs: boolean;
    };
    activity_journal: {
        enabled: boolean;
        interval_minutes: number;
        max_inline_chars: number;
        include_prompt_summaries: boolean;
        include_tool_args: boolean;
    };
    lab_meeting: {
        enabled: boolean;
        interval_minutes: number;
        grace_minutes: number;
        require_feedback_before_resume: boolean;
    };
    budget: {
        max_runtime_hours: number;
        max_child_sessions: number;
        max_model_calls: number;
        warn_ratio: number;
        stale_worker_minutes: number;
    };
    team_mode: {
        enabled: boolean;
        max_parallel_members: number;
        max_members: number;
        max_member_prompt_chars: number;
        allowed_capability_profiles: SeedTeamCapabilityProfile[];
        message_payload_max_bytes: number;
        recipient_unread_max_messages: number;
    };
    agent_threads: {
        enabled: boolean;
        max_threads: number;
        max_parallel_helpers_per_thread: number;
        helper_default_timeout_minutes: number;
    };
    message_bus: {
        enabled: boolean;
        max_queued_messages: number;
        max_delivery_attempts: number;
        retry_delay_ms: number;
        envelope_body_max_bytes: number;
    };
    context_ledger: {
        enabled: boolean;
        max_bundle_body_bytes: number;
        max_inline_chars: number;
        max_digest_chars: number;
        metrics_enabled: boolean;
    };
    context_policy: {
        stable_contract_inline_on_launch: boolean;
        stable_contract_digest_after_launch: boolean;
        warm_context_default: "ref" | "digest" | "inline";
        hot_context_max_chars: number;
        max_context_attachments_per_message: number;
        duplicate_bundle_warning_threshold: number;
    };
    virtual_member_defaults: {
        capability_model_profiles: Partial<Record<SeedTeamCapabilityProfile, ModelProfile>>;
        default_spawn_policy: SeedTeamSpawnPolicy;
    };
    continuation: {
        enabled: boolean;
        inject_on_chat: boolean;
        inject_on_compaction: boolean;
        context_max_chars: number;
        recent_event_limit: number;
    };
    skills: {
        enabled: boolean;
        allow_project_skills: boolean;
        allow_user_skills: boolean;
    };
    mcp: {
        builtin: {
            context7: BuiltinMcpSwitch;
            lsp: BuiltinMcpSwitch;
            ast_grep: BuiltinMcpSwitch;
            websearch: BuiltinMcpSwitch;
            grep_app: BuiltinMcpSwitch;
        };
    };
    reporting: {
        default_language: "ko" | "en";
        english_enabled: boolean;
        korean_enabled: boolean;
        live_progress_polish: boolean;
    };
    run: {
        max_initial_clarifying_questions: number;
        auto_start_when_actionable: boolean;
        review_before_final: boolean;
        scribe_updates: boolean;
    };
    safety: {
        redact_secrets: boolean;
        require_professor_handoff_for_destructive_actions: boolean;
    };
};
export type SeedAgentConfigInput = Partial<{
    [K in keyof SeedAgentConfig]: SeedAgentConfig[K] extends object ? Partial<SeedAgentConfig[K]> : SeedAgentConfig[K];
}>;
export type LoadedSeedConfig = {
    config: SeedAgentConfig;
    sources: string[];
};
