import { type AltEditorLiteError } from '../core/alt-editor-lite-error.js'; import type { AltEditorLiteLanguage } from '../core/alt-editor-lite-language.js'; import type { AltEditorLiteOptions } from '../core/alt-editor-lite-options.js'; import type { AltEditorLite } from '../core/alt-editor-lite.js'; import type { BatchEditOperationRunner } from '../core/editing/batch-edit-operation-runner.js'; import type { EditorErrorReporter } from '../core/editor-error-reporter.js'; import type { EditorOperationTarget } from '../core/editor-operation.js'; import type { ResolvedDialogEditingOptions } from '../core/resolve-editing-options.js'; import type { BatchEditorFormController } from '../form/batch-editor-form-controller.js'; import type { EditorHost } from '../host/editor-host.js'; /** Dialog presentation callbacks used by the batch edit operation. */ export interface DialogBatchEditPresentation { startValidation(): void; restoreAfterValidationFailure(): void; restoreAfterOperationFailure(): void; setBusy(isBusy: boolean): void; showOperationError(error: AltEditorLiteError): void; completeUnchanged(): Promise; completeSuccess(rows: readonly Readonly[]): Promise; } export interface DialogBatchEditOperationArguments { readonly editor: AltEditorLite; readonly eventTarget: EventTarget; readonly options: Readonly>; readonly editing: Readonly; readonly language: Readonly; readonly host: EditorHost; readonly batchEditOperationRunner: BatchEditOperationRunner; readonly errorReporter: EditorErrorReporter; readonly onPresentationComplete: () => void; } /** Runs one batch edit transaction for the dialog presentation. */ export declare class DialogBatchEditOperation { private readonly arguments_; constructor(arguments_: DialogBatchEditOperationArguments); /** Validates, persists, and commits a common change set. */ run(form: BatchEditorFormController, recordTargets: readonly TTarget[], originals: readonly Readonly[], targets: readonly Readonly[], presentation: DialogBatchEditPresentation, updateOriginals: (originals: readonly Readonly[]) => void): Promise; }