import { z } from "zod"; export declare const configMetaSchema: z.ZodObject<{ version: z.ZodLiteral<1>; updatedAt: z.ZodString; source: z.ZodEnum<{ configure: "configure"; doctor: "doctor"; onboard: "onboard"; }>; }, z.core.$loose>; export declare const llmConfigSchema: z.ZodObject<{ provider: z.ZodEnum<{ claude: "claude"; openai: "openai"; }>; apiKey: z.ZodOptional; }, z.core.$loose>; export declare const databaseBackupConfigSchema: z.ZodObject<{ enabled: z.ZodDefault; intervalMinutes: z.ZodDefault; retentionDays: z.ZodDefault; dir: z.ZodDefault; }, z.core.$loose>; export declare const databaseConfigSchema: z.ZodObject<{ mode: z.ZodDefault>; connectionString: z.ZodOptional; embeddedPostgresDataDir: z.ZodDefault; embeddedPostgresPort: z.ZodDefault; backup: z.ZodDefault; intervalMinutes: z.ZodDefault; retentionDays: z.ZodDefault; dir: z.ZodDefault; }, z.core.$loose>>; }, z.core.$loose>; export declare const loggingConfigSchema: z.ZodObject<{ mode: z.ZodEnum<{ cloud: "cloud"; file: "file"; }>; logDir: z.ZodDefault; }, z.core.$loose>; export declare const serverConfigSchema: z.ZodObject<{ deploymentMode: z.ZodDefault>; exposure: z.ZodDefault>; bind: z.ZodOptional>; customBindHost: z.ZodOptional; host: z.ZodDefault; port: z.ZodDefault; allowedHostnames: z.ZodDefault>; serveUi: z.ZodDefault; }, z.core.$loose>; export declare const authConfigSchema: z.ZodObject<{ baseUrlMode: z.ZodDefault>; publicBaseUrl: z.ZodOptional; disableSignUp: z.ZodDefault; }, z.core.$loose>; export declare const storageLocalDiskConfigSchema: z.ZodObject<{ baseDir: z.ZodDefault; }, z.core.$loose>; export declare const storageS3ConfigSchema: z.ZodObject<{ bucket: z.ZodDefault; region: z.ZodDefault; endpoint: z.ZodOptional; prefix: z.ZodDefault; forcePathStyle: z.ZodDefault; }, z.core.$loose>; export declare const storageConfigSchema: z.ZodObject<{ provider: z.ZodDefault>; localDisk: z.ZodDefault; }, z.core.$loose>>; s3: z.ZodDefault; region: z.ZodDefault; endpoint: z.ZodOptional; prefix: z.ZodDefault; forcePathStyle: z.ZodDefault; }, z.core.$loose>>; }, z.core.$loose>; export declare const secretsLocalEncryptedConfigSchema: z.ZodObject<{ keyFilePath: z.ZodDefault; }, z.core.$loose>; export declare const secretsConfigSchema: z.ZodObject<{ provider: z.ZodDefault>; strictMode: z.ZodDefault; localEncrypted: z.ZodDefault; }, z.core.$loose>>; }, z.core.$loose>; export declare const telemetryConfigSchema: z.ZodPrefault; }, z.core.$loose>>; export declare const updatesConfigSchema: z.ZodPrefault; }, z.core.$loose>>; export declare const paperclipConfigSchema: z.ZodObject<{ $meta: z.ZodObject<{ version: z.ZodLiteral<1>; updatedAt: z.ZodString; source: z.ZodEnum<{ configure: "configure"; doctor: "doctor"; onboard: "onboard"; }>; }, z.core.$loose>; llm: z.ZodOptional; apiKey: z.ZodOptional; }, z.core.$loose>>; database: z.ZodObject<{ mode: z.ZodDefault>; connectionString: z.ZodOptional; embeddedPostgresDataDir: z.ZodDefault; embeddedPostgresPort: z.ZodDefault; backup: z.ZodDefault; intervalMinutes: z.ZodDefault; retentionDays: z.ZodDefault; dir: z.ZodDefault; }, z.core.$loose>>; }, z.core.$loose>; logging: z.ZodObject<{ mode: z.ZodEnum<{ cloud: "cloud"; file: "file"; }>; logDir: z.ZodDefault; }, z.core.$loose>; server: z.ZodObject<{ deploymentMode: z.ZodDefault>; exposure: z.ZodDefault>; bind: z.ZodOptional>; customBindHost: z.ZodOptional; host: z.ZodDefault; port: z.ZodDefault; allowedHostnames: z.ZodDefault>; serveUi: z.ZodDefault; }, z.core.$loose>; telemetry: z.ZodPrefault; }, z.core.$loose>>; updates: z.ZodOptional; }, z.core.$loose>>>; auth: z.ZodDefault>; publicBaseUrl: z.ZodOptional; disableSignUp: z.ZodDefault; }, z.core.$loose>>; storage: z.ZodDefault>; localDisk: z.ZodDefault; }, z.core.$loose>>; s3: z.ZodDefault; region: z.ZodDefault; endpoint: z.ZodOptional; prefix: z.ZodDefault; forcePathStyle: z.ZodDefault; }, z.core.$loose>>; }, z.core.$loose>>; secrets: z.ZodDefault>; strictMode: z.ZodDefault; localEncrypted: z.ZodDefault; }, z.core.$loose>>; }, z.core.$loose>>; }, z.core.$loose>; export type PaperclipConfig = z.infer; export type LlmConfig = z.infer; export type DatabaseConfig = z.infer; export type LoggingConfig = z.infer; export type ServerConfig = z.infer; export type StorageConfig = z.infer; export type StorageLocalDiskConfig = z.infer; export type StorageS3Config = z.infer; export type SecretsConfig = z.infer; export type SecretsLocalEncryptedConfig = z.infer; export type AuthConfig = z.infer; export type TelemetryConfig = z.infer; export type UpdatesConfig = z.infer; export type ConfigMeta = z.infer; export type DatabaseBackupConfig = z.infer; /** * Applies a config update while retaining extension keys from the parsed source. * Known optional keys that are absent from the update stay absent, so callers can * intentionally clear values such as llm.apiKey or auth.publicBaseUrl. */ export declare function mergePaperclipConfig(source: PaperclipConfig, update: PaperclipConfig): PaperclipConfig; export type ConfigKeyWarning = { path: string; suggestion: string; }; /** Returns likely misspellings among retained extension keys without modifying them. */ export declare function findPaperclipConfigKeyWarnings(config: unknown): ConfigKeyWarning[]; //# sourceMappingURL=config-schema.d.ts.map