import { z } from "zod";
import type { AgentProviderRuntimeSettingsMap } from "./agent/provider-launch-config.js";
export declare const LogLevelSchema: z.ZodEnum<["trace", "debug", "info", "warn", "error", "fatal"]>;
export declare const LogFormatSchema: z.ZodEnum<["pretty", "json"]>;
export declare const PersistedConfigSchema: z.ZodObject<{
    version: z.ZodOptional<z.ZodLiteral<1>>;
    daemon: z.ZodOptional<z.ZodEffects<z.ZodObject<{
        listen: z.ZodOptional<z.ZodString>;
        hostnames: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<true>, z.ZodArray<z.ZodString, "many">]>>;
        allowedHosts: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<true>, z.ZodArray<z.ZodString, "many">]>>;
        mcp: z.ZodOptional<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            injectIntoAgents: z.ZodOptional<z.ZodBoolean>;
        }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            injectIntoAgents: z.ZodOptional<z.ZodBoolean>;
        }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            injectIntoAgents: z.ZodOptional<z.ZodBoolean>;
        }, z.ZodTypeAny, "passthrough">>>;
        autoArchiveAfterMerge: z.ZodOptional<z.ZodBoolean>;
        appendSystemPrompt: z.ZodOptional<z.ZodString>;
        cors: z.ZodOptional<z.ZodObject<{
            allowedOrigins: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        }, "strict", z.ZodTypeAny, {
            allowedOrigins?: string[] | undefined;
        }, {
            allowedOrigins?: string[] | undefined;
        }>>;
        relay: z.ZodOptional<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            endpoint: z.ZodOptional<z.ZodString>;
            publicEndpoint: z.ZodOptional<z.ZodString>;
            useTls: z.ZodOptional<z.ZodBoolean>;
            publicUseTls: z.ZodOptional<z.ZodBoolean>;
        }, "strict", z.ZodTypeAny, {
            enabled?: boolean | undefined;
            endpoint?: string | undefined;
            publicEndpoint?: string | undefined;
            useTls?: boolean | undefined;
            publicUseTls?: boolean | undefined;
        }, {
            enabled?: boolean | undefined;
            endpoint?: string | undefined;
            publicEndpoint?: string | undefined;
            useTls?: boolean | undefined;
            publicUseTls?: boolean | undefined;
        }>>;
        serviceProxy: z.ZodOptional<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            listen: z.ZodOptional<z.ZodString>;
            publicBaseUrl: z.ZodOptional<z.ZodString>;
        }, "strict", z.ZodTypeAny, {
            publicBaseUrl?: string | undefined;
            enabled?: boolean | undefined;
            listen?: string | undefined;
        }, {
            publicBaseUrl?: string | undefined;
            enabled?: boolean | undefined;
            listen?: string | undefined;
        }>>;
        auth: z.ZodOptional<z.ZodObject<{
            password: z.ZodOptional<z.ZodString>;
        }, "strict", z.ZodTypeAny, {
            password?: string | undefined;
        }, {
            password?: string | undefined;
        }>>;
    }, "strict", z.ZodTypeAny, {
        auth?: {
            password?: string | undefined;
        } | undefined;
        mcp?: z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            injectIntoAgents: z.ZodOptional<z.ZodBoolean>;
        }, z.ZodTypeAny, "passthrough"> | undefined;
        listen?: string | undefined;
        hostnames?: true | string[] | undefined;
        allowedHosts?: true | string[] | undefined;
        autoArchiveAfterMerge?: boolean | undefined;
        appendSystemPrompt?: string | undefined;
        cors?: {
            allowedOrigins?: string[] | undefined;
        } | undefined;
        relay?: {
            enabled?: boolean | undefined;
            endpoint?: string | undefined;
            publicEndpoint?: string | undefined;
            useTls?: boolean | undefined;
            publicUseTls?: boolean | undefined;
        } | undefined;
        serviceProxy?: {
            publicBaseUrl?: string | undefined;
            enabled?: boolean | undefined;
            listen?: string | undefined;
        } | undefined;
    }, {
        auth?: {
            password?: string | undefined;
        } | undefined;
        mcp?: z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            injectIntoAgents: z.ZodOptional<z.ZodBoolean>;
        }, z.ZodTypeAny, "passthrough"> | undefined;
        listen?: string | undefined;
        hostnames?: true | string[] | undefined;
        allowedHosts?: true | string[] | undefined;
        autoArchiveAfterMerge?: boolean | undefined;
        appendSystemPrompt?: string | undefined;
        cors?: {
            allowedOrigins?: string[] | undefined;
        } | undefined;
        relay?: {
            enabled?: boolean | undefined;
            endpoint?: string | undefined;
            publicEndpoint?: string | undefined;
            useTls?: boolean | undefined;
            publicUseTls?: boolean | undefined;
        } | undefined;
        serviceProxy?: {
            publicBaseUrl?: string | undefined;
            enabled?: boolean | undefined;
            listen?: string | undefined;
        } | undefined;
    }>, {
        auth?: {
            password?: string | undefined;
        } | undefined;
        mcp?: z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            injectIntoAgents: z.ZodOptional<z.ZodBoolean>;
        }, z.ZodTypeAny, "passthrough"> | undefined;
        listen?: string | undefined;
        hostnames?: true | string[] | undefined;
        autoArchiveAfterMerge?: boolean | undefined;
        appendSystemPrompt?: string | undefined;
        cors?: {
            allowedOrigins?: string[] | undefined;
        } | undefined;
        relay?: {
            enabled?: boolean | undefined;
            endpoint?: string | undefined;
            publicEndpoint?: string | undefined;
            useTls?: boolean | undefined;
            publicUseTls?: boolean | undefined;
        } | undefined;
        serviceProxy?: {
            publicBaseUrl?: string | undefined;
            enabled?: boolean | undefined;
            listen?: string | undefined;
        } | undefined;
    }, {
        auth?: {
            password?: string | undefined;
        } | undefined;
        mcp?: z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            injectIntoAgents: z.ZodOptional<z.ZodBoolean>;
        }, z.ZodTypeAny, "passthrough"> | undefined;
        listen?: string | undefined;
        hostnames?: true | string[] | undefined;
        allowedHosts?: true | string[] | undefined;
        autoArchiveAfterMerge?: boolean | undefined;
        appendSystemPrompt?: string | undefined;
        cors?: {
            allowedOrigins?: string[] | undefined;
        } | undefined;
        relay?: {
            enabled?: boolean | undefined;
            endpoint?: string | undefined;
            publicEndpoint?: string | undefined;
            useTls?: boolean | undefined;
            publicUseTls?: boolean | undefined;
        } | undefined;
        serviceProxy?: {
            publicBaseUrl?: string | undefined;
            enabled?: boolean | undefined;
            listen?: string | undefined;
        } | undefined;
    }>>;
    app: z.ZodOptional<z.ZodObject<{
        baseUrl: z.ZodOptional<z.ZodString>;
    }, "strict", z.ZodTypeAny, {
        baseUrl?: string | undefined;
    }, {
        baseUrl?: string | undefined;
    }>>;
    providers: z.ZodOptional<z.ZodObject<{
        openai: z.ZodOptional<z.ZodObject<{
            apiKey: z.ZodOptional<z.ZodString>;
        }, "strict", z.ZodTypeAny, {
            apiKey?: string | undefined;
        }, {
            apiKey?: string | undefined;
        }>>;
        local: z.ZodOptional<z.ZodObject<{
            modelsDir: z.ZodOptional<z.ZodString>;
        }, "strict", z.ZodTypeAny, {
            modelsDir?: string | undefined;
        }, {
            modelsDir?: string | undefined;
        }>>;
    }, "strict", z.ZodTypeAny, {
        local?: {
            modelsDir?: string | undefined;
        } | undefined;
        openai?: {
            apiKey?: string | undefined;
        } | undefined;
    }, {
        local?: {
            modelsDir?: string | undefined;
        } | undefined;
        openai?: {
            apiKey?: string | undefined;
        } | undefined;
    }>>;
    worktrees: z.ZodOptional<z.ZodObject<{
        root: z.ZodOptional<z.ZodString>;
    }, "strict", z.ZodTypeAny, {
        root?: string | undefined;
    }, {
        root?: string | undefined;
    }>>;
    agents: z.ZodOptional<z.ZodObject<{
        providers: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodObject<{
            extends: z.ZodOptional<z.ZodString>;
            label: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            command: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
            models: z.ZodOptional<z.ZodArray<z.ZodObject<{
                id: z.ZodString;
                label: z.ZodString;
                description: z.ZodOptional<z.ZodString>;
                isDefault: z.ZodOptional<z.ZodBoolean>;
                thinkingOptions: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    id: z.ZodString;
                    label: z.ZodString;
                    description: z.ZodOptional<z.ZodString>;
                    isDefault: z.ZodOptional<z.ZodBoolean>;
                }, "strip", z.ZodTypeAny, {
                    id: string;
                    label: string;
                    description?: string | undefined;
                    isDefault?: boolean | undefined;
                }, {
                    id: string;
                    label: string;
                    description?: string | undefined;
                    isDefault?: boolean | undefined;
                }>, "many">>;
            }, "strip", z.ZodTypeAny, {
                id: string;
                label: string;
                description?: string | undefined;
                isDefault?: boolean | undefined;
                thinkingOptions?: {
                    id: string;
                    label: string;
                    description?: string | undefined;
                    isDefault?: boolean | undefined;
                }[] | undefined;
            }, {
                id: string;
                label: string;
                description?: string | undefined;
                isDefault?: boolean | undefined;
                thinkingOptions?: {
                    id: string;
                    label: string;
                    description?: string | undefined;
                    isDefault?: boolean | undefined;
                }[] | undefined;
            }>, "many">>;
            additionalModels: z.ZodOptional<z.ZodArray<z.ZodObject<{
                id: z.ZodString;
                label: z.ZodString;
                description: z.ZodOptional<z.ZodString>;
                isDefault: z.ZodOptional<z.ZodBoolean>;
                thinkingOptions: z.ZodOptional<z.ZodArray<z.ZodObject<{
                    id: z.ZodString;
                    label: z.ZodString;
                    description: z.ZodOptional<z.ZodString>;
                    isDefault: z.ZodOptional<z.ZodBoolean>;
                }, "strip", z.ZodTypeAny, {
                    id: string;
                    label: string;
                    description?: string | undefined;
                    isDefault?: boolean | undefined;
                }, {
                    id: string;
                    label: string;
                    description?: string | undefined;
                    isDefault?: boolean | undefined;
                }>, "many">>;
            }, "strip", z.ZodTypeAny, {
                id: string;
                label: string;
                description?: string | undefined;
                isDefault?: boolean | undefined;
                thinkingOptions?: {
                    id: string;
                    label: string;
                    description?: string | undefined;
                    isDefault?: boolean | undefined;
                }[] | undefined;
            }, {
                id: string;
                label: string;
                description?: string | undefined;
                isDefault?: boolean | undefined;
                thinkingOptions?: {
                    id: string;
                    label: string;
                    description?: string | undefined;
                    isDefault?: boolean | undefined;
                }[] | undefined;
            }>, "many">>;
            disallowedTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
            enabled: z.ZodOptional<z.ZodBoolean>;
            order: z.ZodOptional<z.ZodNumber>;
        }, "strip", z.ZodTypeAny, {
            description?: string | undefined;
            label?: string | undefined;
            enabled?: boolean | undefined;
            command?: string[] | undefined;
            additionalModels?: {
                id: string;
                label: string;
                description?: string | undefined;
                isDefault?: boolean | undefined;
                thinkingOptions?: {
                    id: string;
                    label: string;
                    description?: string | undefined;
                    isDefault?: boolean | undefined;
                }[] | undefined;
            }[] | undefined;
            models?: {
                id: string;
                label: string;
                description?: string | undefined;
                isDefault?: boolean | undefined;
                thinkingOptions?: {
                    id: string;
                    label: string;
                    description?: string | undefined;
                    isDefault?: boolean | undefined;
                }[] | undefined;
            }[] | undefined;
            env?: Record<string, string> | undefined;
            disallowedTools?: string[] | undefined;
            extends?: string | undefined;
            order?: number | undefined;
        }, {
            description?: string | undefined;
            label?: string | undefined;
            enabled?: boolean | undefined;
            command?: string[] | undefined;
            additionalModels?: {
                id: string;
                label: string;
                description?: string | undefined;
                isDefault?: boolean | undefined;
                thinkingOptions?: {
                    id: string;
                    label: string;
                    description?: string | undefined;
                    isDefault?: boolean | undefined;
                }[] | undefined;
            }[] | undefined;
            models?: {
                id: string;
                label: string;
                description?: string | undefined;
                isDefault?: boolean | undefined;
                thinkingOptions?: {
                    id: string;
                    label: string;
                    description?: string | undefined;
                    isDefault?: boolean | undefined;
                }[] | undefined;
            }[] | undefined;
            env?: Record<string, string> | undefined;
            disallowedTools?: string[] | undefined;
            extends?: string | undefined;
            order?: number | undefined;
        }>>, Record<string, {
            description?: string | undefined;
            label?: string | undefined;
            enabled?: boolean | undefined;
            command?: string[] | undefined;
            additionalModels?: {
                id: string;
                label: string;
                description?: string | undefined;
                isDefault?: boolean | undefined;
                thinkingOptions?: {
                    id: string;
                    label: string;
                    description?: string | undefined;
                    isDefault?: boolean | undefined;
                }[] | undefined;
            }[] | undefined;
            models?: {
                id: string;
                label: string;
                description?: string | undefined;
                isDefault?: boolean | undefined;
                thinkingOptions?: {
                    id: string;
                    label: string;
                    description?: string | undefined;
                    isDefault?: boolean | undefined;
                }[] | undefined;
            }[] | undefined;
            env?: Record<string, string> | undefined;
            disallowedTools?: string[] | undefined;
            extends?: string | undefined;
            order?: number | undefined;
        }>, Record<string, {
            description?: string | undefined;
            label?: string | undefined;
            enabled?: boolean | undefined;
            command?: string[] | undefined;
            additionalModels?: {
                id: string;
                label: string;
                description?: string | undefined;
                isDefault?: boolean | undefined;
                thinkingOptions?: {
                    id: string;
                    label: string;
                    description?: string | undefined;
                    isDefault?: boolean | undefined;
                }[] | undefined;
            }[] | undefined;
            models?: {
                id: string;
                label: string;
                description?: string | undefined;
                isDefault?: boolean | undefined;
                thinkingOptions?: {
                    id: string;
                    label: string;
                    description?: string | undefined;
                    isDefault?: boolean | undefined;
                }[] | undefined;
            }[] | undefined;
            env?: Record<string, string> | undefined;
            disallowedTools?: string[] | undefined;
            extends?: string | undefined;
            order?: number | undefined;
        }>>, Record<string, {
            description?: string | undefined;
            label?: string | undefined;
            enabled?: boolean | undefined;
            command?: string[] | undefined;
            additionalModels?: {
                id: string;
                label: string;
                description?: string | undefined;
                isDefault?: boolean | undefined;
                thinkingOptions?: {
                    id: string;
                    label: string;
                    description?: string | undefined;
                    isDefault?: boolean | undefined;
                }[] | undefined;
            }[] | undefined;
            models?: {
                id: string;
                label: string;
                description?: string | undefined;
                isDefault?: boolean | undefined;
                thinkingOptions?: {
                    id: string;
                    label: string;
                    description?: string | undefined;
                    isDefault?: boolean | undefined;
                }[] | undefined;
            }[] | undefined;
            env?: Record<string, string> | undefined;
            disallowedTools?: string[] | undefined;
            extends?: string | undefined;
            order?: number | undefined;
        }>, unknown>>;
        metadataGeneration: z.ZodOptional<z.ZodObject<{
            providers: z.ZodOptional<z.ZodArray<z.ZodObject<{
                provider: z.ZodString;
                model: z.ZodOptional<z.ZodString>;
                thinkingOptionId: z.ZodOptional<z.ZodString>;
            }, "strict", z.ZodTypeAny, {
                provider: string;
                model?: string | undefined;
                thinkingOptionId?: string | undefined;
            }, {
                provider: string;
                model?: string | undefined;
                thinkingOptionId?: string | undefined;
            }>, "many">>;
        }, "strict", z.ZodTypeAny, {
            providers?: {
                provider: string;
                model?: string | undefined;
                thinkingOptionId?: string | undefined;
            }[] | undefined;
        }, {
            providers?: {
                provider: string;
                model?: string | undefined;
                thinkingOptionId?: string | undefined;
            }[] | undefined;
        }>>;
    }, "strict", z.ZodTypeAny, {
        metadataGeneration?: {
            providers?: {
                provider: string;
                model?: string | undefined;
                thinkingOptionId?: string | undefined;
            }[] | undefined;
        } | undefined;
        providers?: Record<string, {
            description?: string | undefined;
            label?: string | undefined;
            enabled?: boolean | undefined;
            command?: string[] | undefined;
            additionalModels?: {
                id: string;
                label: string;
                description?: string | undefined;
                isDefault?: boolean | undefined;
                thinkingOptions?: {
                    id: string;
                    label: string;
                    description?: string | undefined;
                    isDefault?: boolean | undefined;
                }[] | undefined;
            }[] | undefined;
            models?: {
                id: string;
                label: string;
                description?: string | undefined;
                isDefault?: boolean | undefined;
                thinkingOptions?: {
                    id: string;
                    label: string;
                    description?: string | undefined;
                    isDefault?: boolean | undefined;
                }[] | undefined;
            }[] | undefined;
            env?: Record<string, string> | undefined;
            disallowedTools?: string[] | undefined;
            extends?: string | undefined;
            order?: number | undefined;
        }> | undefined;
    }, {
        metadataGeneration?: {
            providers?: {
                provider: string;
                model?: string | undefined;
                thinkingOptionId?: string | undefined;
            }[] | undefined;
        } | undefined;
        providers?: unknown;
    }>>;
    features: z.ZodOptional<z.ZodObject<{
        dictation: z.ZodOptional<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            stt: z.ZodOptional<z.ZodObject<{
                provider: z.ZodOptional<z.ZodPipeline<z.ZodString, z.ZodEnum<["openai", "local"]>>>;
                model: z.ZodOptional<z.ZodString>;
                language: z.ZodOptional<z.ZodString>;
                confidenceThreshold: z.ZodOptional<z.ZodNumber>;
            }, "strict", z.ZodTypeAny, {
                provider?: "local" | "openai" | undefined;
                model?: string | undefined;
                language?: string | undefined;
                confidenceThreshold?: number | undefined;
            }, {
                provider?: string | undefined;
                model?: string | undefined;
                language?: string | undefined;
                confidenceThreshold?: number | undefined;
            }>>;
        }, "strict", z.ZodTypeAny, {
            enabled?: boolean | undefined;
            stt?: {
                provider?: "local" | "openai" | undefined;
                model?: string | undefined;
                language?: string | undefined;
                confidenceThreshold?: number | undefined;
            } | undefined;
        }, {
            enabled?: boolean | undefined;
            stt?: {
                provider?: string | undefined;
                model?: string | undefined;
                language?: string | undefined;
                confidenceThreshold?: number | undefined;
            } | undefined;
        }>>;
        voiceMode: z.ZodOptional<z.ZodObject<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            llm: z.ZodOptional<z.ZodObject<{
                provider: z.ZodOptional<z.ZodString>;
                model: z.ZodOptional<z.ZodString>;
            }, "strict", z.ZodTypeAny, {
                provider?: string | undefined;
                model?: string | undefined;
            }, {
                provider?: string | undefined;
                model?: string | undefined;
            }>>;
            stt: z.ZodOptional<z.ZodObject<{
                provider: z.ZodOptional<z.ZodPipeline<z.ZodString, z.ZodEnum<["openai", "local"]>>>;
                model: z.ZodOptional<z.ZodString>;
                language: z.ZodOptional<z.ZodString>;
            }, "strict", z.ZodTypeAny, {
                provider?: "local" | "openai" | undefined;
                model?: string | undefined;
                language?: string | undefined;
            }, {
                provider?: string | undefined;
                model?: string | undefined;
                language?: string | undefined;
            }>>;
            turnDetection: z.ZodOptional<z.ZodObject<{
                provider: z.ZodOptional<z.ZodPipeline<z.ZodString, z.ZodEnum<["openai", "local"]>>>;
            }, "strict", z.ZodTypeAny, {
                provider?: "local" | "openai" | undefined;
            }, {
                provider?: string | undefined;
            }>>;
            tts: z.ZodOptional<z.ZodObject<{
                provider: z.ZodOptional<z.ZodPipeline<z.ZodString, z.ZodEnum<["openai", "local"]>>>;
                model: z.ZodOptional<z.ZodString>;
                voice: z.ZodOptional<z.ZodEnum<["alloy", "echo", "fable", "onyx", "nova", "shimmer"]>>;
                speakerId: z.ZodOptional<z.ZodNumber>;
                speed: z.ZodOptional<z.ZodNumber>;
            }, "strict", z.ZodTypeAny, {
                provider?: "local" | "openai" | undefined;
                model?: string | undefined;
                voice?: "alloy" | "echo" | "fable" | "onyx" | "nova" | "shimmer" | undefined;
                speed?: number | undefined;
                speakerId?: number | undefined;
            }, {
                provider?: string | undefined;
                model?: string | undefined;
                voice?: "alloy" | "echo" | "fable" | "onyx" | "nova" | "shimmer" | undefined;
                speed?: number | undefined;
                speakerId?: number | undefined;
            }>>;
        }, "strict", z.ZodTypeAny, {
            enabled?: boolean | undefined;
            stt?: {
                provider?: "local" | "openai" | undefined;
                model?: string | undefined;
                language?: string | undefined;
            } | undefined;
            llm?: {
                provider?: string | undefined;
                model?: string | undefined;
            } | undefined;
            turnDetection?: {
                provider?: "local" | "openai" | undefined;
            } | undefined;
            tts?: {
                provider?: "local" | "openai" | undefined;
                model?: string | undefined;
                voice?: "alloy" | "echo" | "fable" | "onyx" | "nova" | "shimmer" | undefined;
                speed?: number | undefined;
                speakerId?: number | undefined;
            } | undefined;
        }, {
            enabled?: boolean | undefined;
            stt?: {
                provider?: string | undefined;
                model?: string | undefined;
                language?: string | undefined;
            } | undefined;
            llm?: {
                provider?: string | undefined;
                model?: string | undefined;
            } | undefined;
            turnDetection?: {
                provider?: string | undefined;
            } | undefined;
            tts?: {
                provider?: string | undefined;
                model?: string | undefined;
                voice?: "alloy" | "echo" | "fable" | "onyx" | "nova" | "shimmer" | undefined;
                speed?: number | undefined;
                speakerId?: number | undefined;
            } | undefined;
        }>>;
    }, "strict", z.ZodTypeAny, {
        dictation?: {
            enabled?: boolean | undefined;
            stt?: {
                provider?: "local" | "openai" | undefined;
                model?: string | undefined;
                language?: string | undefined;
                confidenceThreshold?: number | undefined;
            } | undefined;
        } | undefined;
        voiceMode?: {
            enabled?: boolean | undefined;
            stt?: {
                provider?: "local" | "openai" | undefined;
                model?: string | undefined;
                language?: string | undefined;
            } | undefined;
            llm?: {
                provider?: string | undefined;
                model?: string | undefined;
            } | undefined;
            turnDetection?: {
                provider?: "local" | "openai" | undefined;
            } | undefined;
            tts?: {
                provider?: "local" | "openai" | undefined;
                model?: string | undefined;
                voice?: "alloy" | "echo" | "fable" | "onyx" | "nova" | "shimmer" | undefined;
                speed?: number | undefined;
                speakerId?: number | undefined;
            } | undefined;
        } | undefined;
    }, {
        dictation?: {
            enabled?: boolean | undefined;
            stt?: {
                provider?: string | undefined;
                model?: string | undefined;
                language?: string | undefined;
                confidenceThreshold?: number | undefined;
            } | undefined;
        } | undefined;
        voiceMode?: {
            enabled?: boolean | undefined;
            stt?: {
                provider?: string | undefined;
                model?: string | undefined;
                language?: string | undefined;
            } | undefined;
            llm?: {
                provider?: string | undefined;
                model?: string | undefined;
            } | undefined;
            turnDetection?: {
                provider?: string | undefined;
            } | undefined;
            tts?: {
                provider?: string | undefined;
                model?: string | undefined;
                voice?: "alloy" | "echo" | "fable" | "onyx" | "nova" | "shimmer" | undefined;
                speed?: number | undefined;
                speakerId?: number | undefined;
            } | undefined;
        } | undefined;
    }>>;
    log: z.ZodOptional<z.ZodObject<{
        level: z.ZodOptional<z.ZodEnum<["trace", "debug", "info", "warn", "error", "fatal"]>>;
        format: z.ZodOptional<z.ZodEnum<["pretty", "json"]>>;
        console: z.ZodOptional<z.ZodObject<{
            level: z.ZodOptional<z.ZodEnum<["trace", "debug", "info", "warn", "error", "fatal"]>>;
            format: z.ZodOptional<z.ZodEnum<["pretty", "json"]>>;
        }, "strict", z.ZodTypeAny, {
            level?: "error" | "fatal" | "warn" | "info" | "debug" | "trace" | undefined;
            format?: "json" | "pretty" | undefined;
        }, {
            level?: "error" | "fatal" | "warn" | "info" | "debug" | "trace" | undefined;
            format?: "json" | "pretty" | undefined;
        }>>;
        file: z.ZodOptional<z.ZodObject<{
            level: z.ZodOptional<z.ZodEnum<["trace", "debug", "info", "warn", "error", "fatal"]>>;
            path: z.ZodOptional<z.ZodString>;
            rotate: z.ZodOptional<z.ZodObject<{
                maxSize: z.ZodOptional<z.ZodString>;
                maxFiles: z.ZodOptional<z.ZodNumber>;
            }, "strict", z.ZodTypeAny, {
                maxSize?: string | undefined;
                maxFiles?: number | undefined;
            }, {
                maxSize?: string | undefined;
                maxFiles?: number | undefined;
            }>>;
        }, "strict", z.ZodTypeAny, {
            path?: string | undefined;
            level?: "error" | "fatal" | "warn" | "info" | "debug" | "trace" | undefined;
            rotate?: {
                maxSize?: string | undefined;
                maxFiles?: number | undefined;
            } | undefined;
        }, {
            path?: string | undefined;
            level?: "error" | "fatal" | "warn" | "info" | "debug" | "trace" | undefined;
            rotate?: {
                maxSize?: string | undefined;
                maxFiles?: number | undefined;
            } | undefined;
        }>>;
    }, "strict", z.ZodTypeAny, {
        level?: "error" | "fatal" | "warn" | "info" | "debug" | "trace" | undefined;
        console?: {
            level?: "error" | "fatal" | "warn" | "info" | "debug" | "trace" | undefined;
            format?: "json" | "pretty" | undefined;
        } | undefined;
        file?: {
            path?: string | undefined;
            level?: "error" | "fatal" | "warn" | "info" | "debug" | "trace" | undefined;
            rotate?: {
                maxSize?: string | undefined;
                maxFiles?: number | undefined;
            } | undefined;
        } | undefined;
        format?: "json" | "pretty" | undefined;
    }, {
        level?: "error" | "fatal" | "warn" | "info" | "debug" | "trace" | undefined;
        console?: {
            level?: "error" | "fatal" | "warn" | "info" | "debug" | "trace" | undefined;
            format?: "json" | "pretty" | undefined;
        } | undefined;
        file?: {
            path?: string | undefined;
            level?: "error" | "fatal" | "warn" | "info" | "debug" | "trace" | undefined;
            rotate?: {
                maxSize?: string | undefined;
                maxFiles?: number | undefined;
            } | undefined;
        } | undefined;
        format?: "json" | "pretty" | undefined;
    }>>;
}, "strict", z.ZodTypeAny, {
    daemon?: {
        auth?: {
            password?: string | undefined;
        } | undefined;
        mcp?: z.objectOutputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            injectIntoAgents: z.ZodOptional<z.ZodBoolean>;
        }, z.ZodTypeAny, "passthrough"> | undefined;
        listen?: string | undefined;
        hostnames?: true | string[] | undefined;
        autoArchiveAfterMerge?: boolean | undefined;
        appendSystemPrompt?: string | undefined;
        cors?: {
            allowedOrigins?: string[] | undefined;
        } | undefined;
        relay?: {
            enabled?: boolean | undefined;
            endpoint?: string | undefined;
            publicEndpoint?: string | undefined;
            useTls?: boolean | undefined;
            publicUseTls?: boolean | undefined;
        } | undefined;
        serviceProxy?: {
            publicBaseUrl?: string | undefined;
            enabled?: boolean | undefined;
            listen?: string | undefined;
        } | undefined;
    } | undefined;
    features?: {
        dictation?: {
            enabled?: boolean | undefined;
            stt?: {
                provider?: "local" | "openai" | undefined;
                model?: string | undefined;
                language?: string | undefined;
                confidenceThreshold?: number | undefined;
            } | undefined;
        } | undefined;
        voiceMode?: {
            enabled?: boolean | undefined;
            stt?: {
                provider?: "local" | "openai" | undefined;
                model?: string | undefined;
                language?: string | undefined;
            } | undefined;
            llm?: {
                provider?: string | undefined;
                model?: string | undefined;
            } | undefined;
            turnDetection?: {
                provider?: "local" | "openai" | undefined;
            } | undefined;
            tts?: {
                provider?: "local" | "openai" | undefined;
                model?: string | undefined;
                voice?: "alloy" | "echo" | "fable" | "onyx" | "nova" | "shimmer" | undefined;
                speed?: number | undefined;
                speakerId?: number | undefined;
            } | undefined;
        } | undefined;
    } | undefined;
    version?: 1 | undefined;
    worktrees?: {
        root?: string | undefined;
    } | undefined;
    log?: {
        level?: "error" | "fatal" | "warn" | "info" | "debug" | "trace" | undefined;
        console?: {
            level?: "error" | "fatal" | "warn" | "info" | "debug" | "trace" | undefined;
            format?: "json" | "pretty" | undefined;
        } | undefined;
        file?: {
            path?: string | undefined;
            level?: "error" | "fatal" | "warn" | "info" | "debug" | "trace" | undefined;
            rotate?: {
                maxSize?: string | undefined;
                maxFiles?: number | undefined;
            } | undefined;
        } | undefined;
        format?: "json" | "pretty" | undefined;
    } | undefined;
    agents?: {
        metadataGeneration?: {
            providers?: {
                provider: string;
                model?: string | undefined;
                thinkingOptionId?: string | undefined;
            }[] | undefined;
        } | undefined;
        providers?: Record<string, {
            description?: string | undefined;
            label?: string | undefined;
            enabled?: boolean | undefined;
            command?: string[] | undefined;
            additionalModels?: {
                id: string;
                label: string;
                description?: string | undefined;
                isDefault?: boolean | undefined;
                thinkingOptions?: {
                    id: string;
                    label: string;
                    description?: string | undefined;
                    isDefault?: boolean | undefined;
                }[] | undefined;
            }[] | undefined;
            models?: {
                id: string;
                label: string;
                description?: string | undefined;
                isDefault?: boolean | undefined;
                thinkingOptions?: {
                    id: string;
                    label: string;
                    description?: string | undefined;
                    isDefault?: boolean | undefined;
                }[] | undefined;
            }[] | undefined;
            env?: Record<string, string> | undefined;
            disallowedTools?: string[] | undefined;
            extends?: string | undefined;
            order?: number | undefined;
        }> | undefined;
    } | undefined;
    app?: {
        baseUrl?: string | undefined;
    } | undefined;
    providers?: {
        local?: {
            modelsDir?: string | undefined;
        } | undefined;
        openai?: {
            apiKey?: string | undefined;
        } | undefined;
    } | undefined;
}, {
    daemon?: {
        auth?: {
            password?: string | undefined;
        } | undefined;
        mcp?: z.objectInputType<{
            enabled: z.ZodOptional<z.ZodBoolean>;
            injectIntoAgents: z.ZodOptional<z.ZodBoolean>;
        }, z.ZodTypeAny, "passthrough"> | undefined;
        listen?: string | undefined;
        hostnames?: true | string[] | undefined;
        allowedHosts?: true | string[] | undefined;
        autoArchiveAfterMerge?: boolean | undefined;
        appendSystemPrompt?: string | undefined;
        cors?: {
            allowedOrigins?: string[] | undefined;
        } | undefined;
        relay?: {
            enabled?: boolean | undefined;
            endpoint?: string | undefined;
            publicEndpoint?: string | undefined;
            useTls?: boolean | undefined;
            publicUseTls?: boolean | undefined;
        } | undefined;
        serviceProxy?: {
            publicBaseUrl?: string | undefined;
            enabled?: boolean | undefined;
            listen?: string | undefined;
        } | undefined;
    } | undefined;
    features?: {
        dictation?: {
            enabled?: boolean | undefined;
            stt?: {
                provider?: string | undefined;
                model?: string | undefined;
                language?: string | undefined;
                confidenceThreshold?: number | undefined;
            } | undefined;
        } | undefined;
        voiceMode?: {
            enabled?: boolean | undefined;
            stt?: {
                provider?: string | undefined;
                model?: string | undefined;
                language?: string | undefined;
            } | undefined;
            llm?: {
                provider?: string | undefined;
                model?: string | undefined;
            } | undefined;
            turnDetection?: {
                provider?: string | undefined;
            } | undefined;
            tts?: {
                provider?: string | undefined;
                model?: string | undefined;
                voice?: "alloy" | "echo" | "fable" | "onyx" | "nova" | "shimmer" | undefined;
                speed?: number | undefined;
                speakerId?: number | undefined;
            } | undefined;
        } | undefined;
    } | undefined;
    version?: 1 | undefined;
    worktrees?: {
        root?: string | undefined;
    } | undefined;
    log?: {
        level?: "error" | "fatal" | "warn" | "info" | "debug" | "trace" | undefined;
        console?: {
            level?: "error" | "fatal" | "warn" | "info" | "debug" | "trace" | undefined;
            format?: "json" | "pretty" | undefined;
        } | undefined;
        file?: {
            path?: string | undefined;
            level?: "error" | "fatal" | "warn" | "info" | "debug" | "trace" | undefined;
            rotate?: {
                maxSize?: string | undefined;
                maxFiles?: number | undefined;
            } | undefined;
        } | undefined;
        format?: "json" | "pretty" | undefined;
    } | undefined;
    agents?: {
        metadataGeneration?: {
            providers?: {
                provider: string;
                model?: string | undefined;
                thinkingOptionId?: string | undefined;
            }[] | undefined;
        } | undefined;
        providers?: unknown;
    } | undefined;
    app?: {
        baseUrl?: string | undefined;
    } | undefined;
    providers?: {
        local?: {
            modelsDir?: string | undefined;
        } | undefined;
        openai?: {
            apiKey?: string | undefined;
        } | undefined;
    } | undefined;
}>;
type PersistedConfigSchemaOutput = z.infer<typeof PersistedConfigSchema>;
export type PersistedConfig = Omit<PersistedConfigSchemaOutput, "agents"> & {
    agents?: Omit<NonNullable<PersistedConfigSchemaOutput["agents"]>, "providers"> & {
        providers?: AgentProviderRuntimeSettingsMap;
    };
};
interface LoggerLike {
    child(bindings: Record<string, unknown>): LoggerLike;
    info(...args: unknown[]): void;
}
export declare function loadPersistedConfig(paseoHome: string, logger?: LoggerLike): PersistedConfig;
export declare function savePersistedConfig(paseoHome: string, config: PersistedConfig, logger?: LoggerLike): void;
export {};
//# sourceMappingURL=persisted-config.d.ts.map