import { BaseEntityActionRuntimeUX } from '../base-entity-action-runtime-ux'; import * as i0 from "@angular/core"; /** The run summary the runner renders, mapped from the operation's typed output. */ interface RunSummary { Success: boolean; ProcessRunID?: string; Processed: number; Succeeded: number; Errored: number; Skipped: number; Status?: string; ErrorMessage?: string; } /** The driver's flow state. */ type RunnerState = 'loading' | 'preview' | 'applying' | 'done' | 'error'; /** One computed field change (mirrors the engine's `FieldChange` for the bits the UI shows). */ interface DiffChange { Field: string; OldValue: unknown; NewValue: unknown; Applied: boolean; Changed: boolean; Error?: string; } /** A per-record row of the preview table. */ interface RecordDiffRow { RecordID: string; Status: string; Changes: DiffChange[]; ErrorMessage?: string; } export declare class RecordProcessRunnerUXComponent extends BaseEntityActionRuntimeUX { private cdr; /** Cap on preview rows we render (the apply step always covers the full scope). */ private static readonly MAX_PREVIEW_ROWS; State: RunnerState; ErrorMessage: string; DiffRows: RecordDiffRow[]; PreviewResult?: RunSummary; AppliedResult?: RunSummary; ChangedRecordCount: number; TotalChangeCount: number; Truncated: boolean; get Title(): string; get EntityLabel(): string; get HasChanges(): boolean; get SkippedCount(): number; get ErroredCount(): number; get DoneMessage(): string; /** Step 1: run a dry-run on the server and load the resulting per-record diff. */ Start(): Promise; /** Step 2: the user confirmed — run for real. */ Apply(): Promise; /** Closes after a successful apply, telling the host to refresh. */ Finish(): void; /** Dismiss without applying (also used for the error/close button). */ OnCancel(): void; /** Renders a value for the diff table (delegates to the pure helper). */ Display(value: unknown): string; /** * Runs the `RecordProcess.RunNow` Remote Operation and maps its typed output to a {@link RunSummary}. * `Execute` routes through the host's provider — marshalled over the generic `ExecuteRemoteOperation` * transport on the client, in-process on the server — so there is no bespoke resolver/client. */ private runOp; /** Reads `MJ: Process Run Details` for the dry-run and builds the per-record diff rows. */ private loadDiff; /** Builds the engine scope from the host-supplied context (delegates to the pure helper). */ private buildScope; private recordProcessID; private toError; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export {}; //# sourceMappingURL=record-process-runner-ux.component.d.ts.map