import { SfCommand } from '@salesforce/sf-plugins-core'; import { ActualAssignment, AssignmentUpdate, DesiredAssignment, Drift } from '../../core/index.js'; export type PsPlanResult = { org: { username: string; id: string; }; mode: string; counts: { toAdd: number; toUpdate: number; toRemove: number; unchanged: number; usersAffected: number; }; /** What the chosen mode would not act on (surfaced as drift). */ drift: Drift; /** The full diff, regardless of mode, so machine consumers see everything the text scopes away. */ changes: { toAdd: DesiredAssignment[]; toUpdate: AssignmentUpdate[]; toRemove: ActualAssignment[]; unchanged: ActualAssignment[]; }; }; export default class Plan extends SfCommand { static readonly summary: string; static readonly description: string; static readonly examples: string[]; static readonly flags: { 'target-org': import("@oclif/core/interfaces").OptionFlag; file: import("@oclif/core/interfaces").OptionFlag; mode: import("@oclif/core/interfaces").OptionFlag<"additive" | "destructive" | "sync", import("@oclif/core/interfaces").CustomOptions>; 'show-unchanged': import("@oclif/core/interfaces").BooleanFlag; 'include-inactive': import("@oclif/core/interfaces").BooleanFlag; strict: import("@oclif/core/interfaces").BooleanFlag; }; run(): Promise; /** Render the human-readable plan body once the run is known to be valid. */ private logPlan; /** Every finding the run raised, with the level label coloured by how loud it is. */ private logFindings; /** The diff itself, scoped to the mode and coloured by operation. */ private logDiffBody; /** The counts line reports what the mode acts on, so it never contradicts the body above it. */ private countsLine; /** Drift is already mode-scoped: only additive leaves removes, only destructive leaves adds. */ private reportDrift; private reportUnchanged; private applyCommand; /** An error and a strict warning both stop the plan, for reasons worth telling apart. */ private reportInvalid; private errorInvalid; private errorStrict; private logHeaderTitle; private logHeaderOrg; private logEmptyNoChanges; private logEmptyNothingToApply; private logSummaryNext; private logDriftAdditive; private logDriftDestructive; private logSummaryUnchanged; private logSummaryUnchangedListed; } //# sourceMappingURL=plan.d.ts.map