import { Kind } from './model.js'; /** Which half of the reconcile produced a record: the three operations apply can run. */ export type AssignmentOperation = 'add' | 'update' | 'remove'; /** * The per-record result of one add, update, or remove, for partial-success reporting. A * report record rather than a model record: its names are only ever displayed, never * compared as identifiers, so it carries them as plain text. */ export type AssignmentOutcome = { assignee: string; kind: Kind; target: string; operation: AssignmentOperation; success: boolean; message?: string; }; /** * What the org did, and every question asked of it. The per-operation counts feed the * summary line and the `--json` payload, and a single rejected record fails the run, so * the filtering rules live here rather than at each site that would otherwise repeat them. */ export declare class Outcomes { private readonly items; private constructor(); static of(items: AssignmentOutcome[]): Outcomes; /** What a run that never reached the DML did to the org: nothing. */ static empty(): Outcomes; /** How many additions the org accepted. */ added(): number; /** How many updates the org accepted. */ updated(): number; /** How many removals the org accepted. */ removed(): number; /** Every record the org rejected, so each one gets a line of its own. */ failures(): AssignmentOutcome[]; /** Whether the org rejected anything, which is what fails the run. */ hasFailures(): boolean; private acceptedOf; } //# sourceMappingURL=outcome.d.ts.map