import type { PrereqReport } from '../harness/types.js'; export declare const REDACTED_ENV_VALUE = "__OURS_FLEET_SECRET_REDACTED__"; export interface EditableFleetModel { manifest: Record; agents: Record>; agent_templates: Record>; } export interface ConfigReadResult { path: string; exists: true; firstRun: false; revision: string; model: EditableFleetModel; redactions: string[]; } export interface RestartImpact { required: boolean; roles: string[]; watchdogScheduler: boolean; scheduledLoops: boolean; summary: string; } export interface ConfigPreviewResult { valid: true; revision: string; normalizedModel: EditableFleetModel; diff: string; redactions: string[]; impact: RestartImpact; preflight: PrereqReport; } export interface ConfigWriteResult extends ConfigPreviewResult { saved: true; newRevision: string; backup?: string; } export interface FleetConfigServiceOptions { configPath?: string; preflight?(configPath: string): Promise; /** Fault-injection seam; called under lock immediately before each mutation. */ beforeMutation?(relativePath: string, index: number): void; } export declare class FleetConfigService { readonly path: string; private readonly preflight; private readonly beforeMutation?; constructor(options?: FleetConfigServiceOptions); read(): ConfigReadResult; preview(baseRevision: string, input: unknown): Promise; write(baseRevision: string, input: unknown): Promise; }