import { type PolypotConfig } from "./schema.js"; import { type PolypotSecrets } from "./secrets.js"; export interface LoadPolypotConfigOptions { readonly configPath?: string; readonly noConfig?: boolean; readonly noEnv?: boolean; } export interface LoadPolypotConfigArgs { readonly configDir: string; readonly cwd: string; readonly options?: LoadPolypotConfigOptions; } export interface PolypotRuntimeConfig { readonly config: PolypotConfig; readonly sources: PolypotRuntimeConfigSources; readonly secrets: PolypotSecrets; } export type ConfigPathKey = "behavior.dictionaryPath" | "behavior.promptFilePath" | "output.outputDir" | "output.outputFile" | "source.inputPoPath" | "source.potFilePath"; export interface ConfigValueSource { readonly filePath: string; readonly kind: "explicit" | "global" | "project"; readonly rootDir: string; } export interface PolypotRuntimeConfigSources { readonly paths: Partial>; } /** * Load app config for a command. * * @param args Config loading arguments. * @returns Loaded app config. */ export declare function loadPolypotConfig(args: LoadPolypotConfigArgs): Promise; /** * Load app config and secrets together. * * @param args Config loading arguments. * @returns Loaded config and secrets. */ export declare function loadPolypotRuntimeConfig(args: LoadPolypotConfigArgs): Promise;