import { z } from "zod"; declare const OnPushConfigSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{ version: z.ZodDefault; project: z.ZodObject<{ name: z.ZodString; description: z.ZodOptional; }, z.core.$strip>; output: z.ZodDefault; filename_template: z.ZodDefault; toc: z.ZodDefault; branch: z.ZodOptional; }, z.core.$strip>>; generation: z.ZodDefault>; model: z.ZodDefault; copilot_byok: z.ZodOptional; base_url: z.ZodString; api_key: z.ZodOptional; }, z.core.$strip>>; cost_limit: z.ZodDefault>; timeout: z.ZodDefault; parallel: z.ZodDefault; }, z.core.$strip>>; types: z.ZodDefault; prompt: z.ZodOptional; model: z.ZodOptional; }, z.core.$strip>>>; custom_types: z.ZodDefault>>; exclude: z.ZodDefault>; mode: z.ZodLiteral<"current">; repository: z.ZodOptional>; }, z.core.$strip>, z.ZodObject<{ version: z.ZodDefault; project: z.ZodObject<{ name: z.ZodString; description: z.ZodOptional; }, z.core.$strip>; output: z.ZodDefault; filename_template: z.ZodDefault; toc: z.ZodDefault; branch: z.ZodOptional; }, z.core.$strip>>; generation: z.ZodDefault>; model: z.ZodDefault; copilot_byok: z.ZodOptional; base_url: z.ZodString; api_key: z.ZodOptional; }, z.core.$strip>>; cost_limit: z.ZodDefault>; timeout: z.ZodDefault; parallel: z.ZodDefault; }, z.core.$strip>>; types: z.ZodDefault; prompt: z.ZodOptional; model: z.ZodOptional; }, z.core.$strip>>>; custom_types: z.ZodDefault>>; exclude: z.ZodDefault>; mode: z.ZodLiteral<"remote">; repositories: z.ZodArray; url: z.ZodOptional; github: z.ZodOptional; ref: z.ZodOptional; name: z.ZodString; }, z.core.$strip>>; }, z.core.$strip>], "mode">; export type OnPushConfig = z.infer; /** * Resolves the path to the config file. * If a flag path is provided, uses that. Otherwise, looks for .onpush/config.yml * relative to cwd. */ export declare function resolveConfigPath(flagPath?: string): string; /** * Returns the .onpush directory for a given config file path. */ export declare function getConfigDir(configPath: string): string; /** * Loads and validates the OnPush config file. * Returns the validated config object or throws ConfigError. */ export declare function loadConfig(configPath?: string): Promise; /** * Saves the config object back to the YAML config file. */ export declare function saveConfig(configPath: string | undefined, config: OnPushConfig): Promise; export {}; //# sourceMappingURL=config.d.ts.map