/** import { getErrorMessage } from "./../types/common"; * Configuration Loader * * Supports multiple config formats and sources: * - jira.json * - jira.config.ts * - jira.config.js * - Environment variables * * Config merging: file + env (env takes precedence) */ import { z } from "zod"; /** * Jira configuration schema */ export declare const JiraConfigSchema: z.ZodObject<{ baseUrl: z.ZodString; email: z.ZodString; apiToken: z.ZodString; projectKey: z.ZodString; webhookSecret: z.ZodOptional; acceptanceCriteriaFieldId: z.ZodOptional; ai: z.ZodOptional; aiReadyStatusCategory: z.ZodOptional; branchPrefix: z.ZodOptional; }, "strip", z.ZodTypeAny, { aiReadyLabel?: string | undefined; aiReadyStatusCategory?: string | undefined; branchPrefix?: string | undefined; }, { aiReadyLabel?: string | undefined; aiReadyStatusCategory?: string | undefined; branchPrefix?: string | undefined; }>>; transitions: z.ZodOptional; done: z.ZodOptional; }, "strip", z.ZodTypeAny, { inReview?: string | undefined; done?: string | undefined; }, { inReview?: string | undefined; done?: string | undefined; }>>; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ baseUrl: z.ZodString; email: z.ZodString; apiToken: z.ZodString; projectKey: z.ZodString; webhookSecret: z.ZodOptional; acceptanceCriteriaFieldId: z.ZodOptional; ai: z.ZodOptional; aiReadyStatusCategory: z.ZodOptional; branchPrefix: z.ZodOptional; }, "strip", z.ZodTypeAny, { aiReadyLabel?: string | undefined; aiReadyStatusCategory?: string | undefined; branchPrefix?: string | undefined; }, { aiReadyLabel?: string | undefined; aiReadyStatusCategory?: string | undefined; branchPrefix?: string | undefined; }>>; transitions: z.ZodOptional; done: z.ZodOptional; }, "strip", z.ZodTypeAny, { inReview?: string | undefined; done?: string | undefined; }, { inReview?: string | undefined; done?: string | undefined; }>>; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ baseUrl: z.ZodString; email: z.ZodString; apiToken: z.ZodString; projectKey: z.ZodString; webhookSecret: z.ZodOptional; acceptanceCriteriaFieldId: z.ZodOptional; ai: z.ZodOptional; aiReadyStatusCategory: z.ZodOptional; branchPrefix: z.ZodOptional; }, "strip", z.ZodTypeAny, { aiReadyLabel?: string | undefined; aiReadyStatusCategory?: string | undefined; branchPrefix?: string | undefined; }, { aiReadyLabel?: string | undefined; aiReadyStatusCategory?: string | undefined; branchPrefix?: string | undefined; }>>; transitions: z.ZodOptional; done: z.ZodOptional; }, "strip", z.ZodTypeAny, { inReview?: string | undefined; done?: string | undefined; }, { inReview?: string | undefined; done?: string | undefined; }>>; }, z.ZodTypeAny, "passthrough">>; export type LoadedJiraConfig = z.infer; /** * Configuration sources */ export type ConfigSource = "json" | "ts" | "js" | "env" | "default"; /** * Configuration load result */ export interface ConfigLoadResult { config: LoadedJiraConfig; source: ConfigSource; path?: string; errors?: string[]; } /** * Load configuration from all sources * * Priority: * 1. Environment variables (highest) * 2. Config file (jira.json, jira.config.ts, jira.config.js) * 3. Default/fallback * * @param cwd Working directory to search for config files * @returns Configuration load result */ export declare function loadConfig(cwd?: string): Promise; /** * Get configuration with fallback * * @param cwd Working directory * @returns Configuration or null if not found */ export declare function getConfig(cwd?: string): Promise; //# sourceMappingURL=config-loader.d.ts.map