import { Diff, Outcomes, ReconcileMode, Findings } from '../core/index.js'; import { OrgClient } from './adapters/index.js'; /** How the service asks its caller to approve a destructive batch before applying it. */ export type ConfirmDeletions = (count: number) => Promise; type ApplyInput = { mode: ReconcileMode; maxDeletes: number; dryRun: boolean; strict: boolean; includeInactive: boolean; }; /** How a run ended, so the command can report and set the exit code. */ type ApplyStatus = 'applied' | 'dry-run' | 'declined' | 'max-deletes-exceeded' | 'invalid'; export type ApplyResult = { files: string[]; findings: Findings; diff: Diff; outcomes: Outcomes; status: ApplyStatus; }; /** * Plan the run, then add and/or remove per the mode. The whole read-only half is * PlanService: apply is that plan carried through to the DML, so the two can never * disagree about what a set of files means. Deletions are capped by maxDeletes and * gated by an injected confirmation. */ export declare class ApplyService { private readonly org; private readonly confirmDeletions; constructor(org: OrgClient, confirmDeletions: ConfirmDeletions); run(files: string[], input: ApplyInput): Promise; private executeResolved; } export {}; //# sourceMappingURL=apply.d.ts.map