import { z } from 'zod'; /** * Zod schema for all environment variables used across lumic-utils. * Required fields will cause a validation error if missing. * Optional fields will default to undefined. */ declare const lumicSecretsSchema: z.ZodObject<{ openai: z.ZodObject<{ apiKey: z.ZodOptional; }, "strip", z.ZodTypeAny, { apiKey?: string | undefined; }, { apiKey?: string | undefined; }>; anthropic: z.ZodObject<{ apiKey: z.ZodOptional; }, "strip", z.ZodTypeAny, { apiKey?: string | undefined; }, { apiKey?: string | undefined; }>; deepseek: z.ZodObject<{ apiKey: z.ZodOptional; }, "strip", z.ZodTypeAny, { apiKey?: string | undefined; }, { apiKey?: string | undefined; }>; kimi: z.ZodObject<{ apiKey: z.ZodOptional; }, "strip", z.ZodTypeAny, { apiKey?: string | undefined; }, { apiKey?: string | undefined; }>; qwen: z.ZodObject<{ apiKey: z.ZodOptional; }, "strip", z.ZodTypeAny, { apiKey?: string | undefined; }, { apiKey?: string | undefined; }>; xai: z.ZodObject<{ apiKey: z.ZodOptional; }, "strip", z.ZodTypeAny, { apiKey?: string | undefined; }, { apiKey?: string | undefined; }>; gemini: z.ZodObject<{ apiKey: z.ZodOptional; }, "strip", z.ZodTypeAny, { apiKey?: string | undefined; }, { apiKey?: string | undefined; }>; perplexity: z.ZodObject<{ apiKey: z.ZodOptional; }, "strip", z.ZodTypeAny, { apiKey?: string | undefined; }, { apiKey?: string | undefined; }>; aws: z.ZodObject<{ region: z.ZodOptional; accessKeyId: z.ZodOptional; secretAccessKey: z.ZodOptional; myRegion: z.ZodOptional; myAccessKeyId: z.ZodOptional; mySecretAccessKey: z.ZodOptional; lambdaFunctionName: z.ZodOptional; }, "strip", z.ZodTypeAny, { region?: string | undefined; accessKeyId?: string | undefined; secretAccessKey?: string | undefined; myRegion?: string | undefined; myAccessKeyId?: string | undefined; mySecretAccessKey?: string | undefined; lambdaFunctionName?: string | undefined; }, { region?: string | undefined; accessKeyId?: string | undefined; secretAccessKey?: string | undefined; myRegion?: string | undefined; myAccessKeyId?: string | undefined; mySecretAccessKey?: string | undefined; lambdaFunctionName?: string | undefined; }>; slack: z.ZodObject<{ botToken: z.ZodOptional; }, "strip", z.ZodTypeAny, { botToken?: string | undefined; }, { botToken?: string | undefined; }>; googleSheets: z.ZodObject<{ clientEmail: z.ZodOptional; privateKey: z.ZodOptional; }, "strip", z.ZodTypeAny, { clientEmail?: string | undefined; privateKey?: string | undefined; }, { clientEmail?: string | undefined; privateKey?: string | undefined; }>; openweather: z.ZodObject<{ apiKey: z.ZodOptional; }, "strip", z.ZodTypeAny, { apiKey?: string | undefined; }, { apiKey?: string | undefined; }>; config: z.ZodObject<{ aiModel: z.ZodOptional; perplexityModel: z.ZodOptional; llmDefaultProvider: z.ZodOptional; llmMiniProvider: z.ZodOptional; llmNormalProvider: z.ZodOptional; llmAdvancedProvider: z.ZodOptional; llmModelMini: z.ZodOptional; llmModelNormal: z.ZodOptional; llmModelAdvanced: z.ZodOptional; lumicDebug: z.ZodDefault; allowedUploadPaths: z.ZodDefault; }, "strip", z.ZodTypeAny, { lumicDebug: boolean; allowedUploadPaths: string; aiModel?: string | undefined; perplexityModel?: string | undefined; llmDefaultProvider?: string | undefined; llmMiniProvider?: string | undefined; llmNormalProvider?: string | undefined; llmAdvancedProvider?: string | undefined; llmModelMini?: string | undefined; llmModelNormal?: string | undefined; llmModelAdvanced?: string | undefined; }, { aiModel?: string | undefined; perplexityModel?: string | undefined; llmDefaultProvider?: string | undefined; llmMiniProvider?: string | undefined; llmNormalProvider?: string | undefined; llmAdvancedProvider?: string | undefined; llmModelMini?: string | undefined; llmModelNormal?: string | undefined; llmModelAdvanced?: string | undefined; lumicDebug?: boolean | undefined; allowedUploadPaths?: string | undefined; }>; }, "strip", z.ZodTypeAny, { openai: { apiKey?: string | undefined; }; anthropic: { apiKey?: string | undefined; }; deepseek: { apiKey?: string | undefined; }; kimi: { apiKey?: string | undefined; }; qwen: { apiKey?: string | undefined; }; xai: { apiKey?: string | undefined; }; gemini: { apiKey?: string | undefined; }; perplexity: { apiKey?: string | undefined; }; aws: { region?: string | undefined; accessKeyId?: string | undefined; secretAccessKey?: string | undefined; myRegion?: string | undefined; myAccessKeyId?: string | undefined; mySecretAccessKey?: string | undefined; lambdaFunctionName?: string | undefined; }; slack: { botToken?: string | undefined; }; googleSheets: { clientEmail?: string | undefined; privateKey?: string | undefined; }; openweather: { apiKey?: string | undefined; }; config: { lumicDebug: boolean; allowedUploadPaths: string; aiModel?: string | undefined; perplexityModel?: string | undefined; llmDefaultProvider?: string | undefined; llmMiniProvider?: string | undefined; llmNormalProvider?: string | undefined; llmAdvancedProvider?: string | undefined; llmModelMini?: string | undefined; llmModelNormal?: string | undefined; llmModelAdvanced?: string | undefined; }; }, { openai: { apiKey?: string | undefined; }; anthropic: { apiKey?: string | undefined; }; deepseek: { apiKey?: string | undefined; }; kimi: { apiKey?: string | undefined; }; qwen: { apiKey?: string | undefined; }; xai: { apiKey?: string | undefined; }; gemini: { apiKey?: string | undefined; }; perplexity: { apiKey?: string | undefined; }; aws: { region?: string | undefined; accessKeyId?: string | undefined; secretAccessKey?: string | undefined; myRegion?: string | undefined; myAccessKeyId?: string | undefined; mySecretAccessKey?: string | undefined; lambdaFunctionName?: string | undefined; }; slack: { botToken?: string | undefined; }; googleSheets: { clientEmail?: string | undefined; privateKey?: string | undefined; }; openweather: { apiKey?: string | undefined; }; config: { aiModel?: string | undefined; perplexityModel?: string | undefined; llmDefaultProvider?: string | undefined; llmMiniProvider?: string | undefined; llmNormalProvider?: string | undefined; llmAdvancedProvider?: string | undefined; llmModelMini?: string | undefined; llmModelNormal?: string | undefined; llmModelAdvanced?: string | undefined; lumicDebug?: boolean | undefined; allowedUploadPaths?: string | undefined; }; }>; /** * Type definition inferred from the Zod schema */ export type LumicSecrets = z.infer; /** * Returns the validated secrets singleton. * Loads from process.env on first call and caches the result. * @returns Validated LumicSecrets object */ export declare function getSecrets(): LumicSecrets; /** * Resets the cached secrets. Useful for testing or when env vars change. */ export declare function resetSecrets(): void; /** * Validates that a specific secret is present. Throws if missing. * @param key - Dot-notation path to the secret (e.g., 'openai.apiKey') * @param serviceName - Human-readable service name for error messages * @returns The secret value */ export declare function requireSecret(key: string, serviceName: string): string; export {};