export interface DelegateGateCliOptions { readonly diffPath: string | undefined; readonly repoRoot: string | undefined; readonly fix: boolean; } export interface DelegateGateCliResult { readonly exitCode: 0 | 1; readonly stdout: string; readonly stderr: string; } /** * `llm-relay delegate-gate --repo [--fix]` * * Pure over injected IO so the contract tests can drive it without touching the real filesystem. * `readFile`/`writeFile` default to Node's `fs`; a caller only overrides them in tests. */ export declare function runDelegateGateCli(options: DelegateGateCliOptions, io?: { readonly readFile?: (path: string) => string; readonly writeFile?: (path: string, content: string) => void; }): DelegateGateCliResult;