export type WorkflowPreset = 'balanced' | 'full' | 'minimal'; type ToggleConfig = { enabled: boolean; }; type ToggleWithFixCyclesConfig = ToggleConfig & { maxFixCycles: number; }; /** Runtime configuration for ralph-teams. */ export interface RalphConfig { workflow: { /** High-level preset for planning/validation toggles. Default: 'balanced'. */ preset: WorkflowPreset; }; timeouts: { /** Max seconds before an epic run is forcibly stopped. Default: 3600. */ epicTimeout: number; /** Max idle seconds before an epic agent is considered hung. Default: 600. */ idleTimeout: number; /** Max seconds before the overall Ralph run is forcibly stopped. 0 disables it. Default: 18000. */ loopTimeout: number; }; execution: { /** Max epics to run in parallel (0 = unlimited). Default: 0. */ parallel: number; /** AI backend to use: 'claude', 'copilot', or 'codex'. Default: 'claude'. */ backend: string; /** Optional shared model override applied to all agent roles unless a role-specific override is present. */ model?: string; /** Whether per-story planning is enabled. */ storyPlanning: ToggleConfig; /** Whether per-story validation is enabled and how many fix cycles are allowed. */ storyValidation: ToggleWithFixCyclesConfig; /** Whether epic-level planning is enabled. */ epicPlanning: ToggleConfig; /** Whether epic-level validation is enabled and how many fix cycles are allowed. */ epicValidation: ToggleWithFixCyclesConfig; /** Whether final whole-run validation is enabled and how many fix cycles are allowed. */ finalValidation: ToggleWithFixCyclesConfig; }; agents: { /** Model for the team-lead agent. Default: 'opus'. */ teamLead: string; /** Model for the story planner agent. Default: 'opus'. */ storyPlanner: string; /** Model for the epic planner agent. Default: 'opus'. */ epicPlanner: string; /** Model for the builder agent. Default: 'sonnet'. */ builder: string; /** Model for the story validator agent. Default: 'sonnet'. */ storyValidator: string; /** Model for the epic validator agent. Default: 'opus'. */ epicValidator: string; /** Model for the final validator agent. Default: 'opus'. */ finalValidator: string; /** Model for the merger agent. Default: 'sonnet'. */ merger: string; }; } export type AgentModelField = keyof RalphConfig['agents']; /** Default configuration values used when no ralph.config.yml is present. */ export declare const DEFAULT_CONFIG: RalphConfig; export declare function renderConfigYaml(config?: RalphConfig): string; export declare function renderCommentedConfigTemplate(config?: RalphConfig): string; /** * Validates a raw parsed YAML object against the RalphConfig schema. * Returns the validated config (with defaults for missing fields) and a list * of descriptive error strings for any invalid or out-of-range fields. */ export declare function validateConfig(raw: unknown): { config: RalphConfig; errors: string[]; }; export declare function loadConfig(projectRoot: string): RalphConfig; export declare function mergeCliOverrides(config: RalphConfig, overrides: Partial<{ backend: string; parallel: number; }>): RalphConfig; export declare function loadExplicitAgentModelOverrides(projectRoot: string): Partial>; export {}; //# sourceMappingURL=config.d.ts.map