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 { EditOperationRunner } from '../core/editing/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 { EditorFormController } from '../form/form-controller.js'; import type { EditorHost } from '../host/editor-host.js'; export interface DialogEditPresentation { startValidation(): void; restoreAfterValidationFailure(): void; restoreAfterOperationFailure(): void; setBusy(isBusy: boolean): void; showOperationError(error: AltEditorLiteError): void; completeSuccess(): Promise; } export interface DialogEditOperationArguments { readonly editor: AltEditorLite; readonly eventTarget: EventTarget; readonly options: Readonly>; readonly editing: Readonly; readonly language: Readonly; readonly host: EditorHost; readonly editOperationRunner: EditOperationRunner; readonly errorReporter: EditorErrorReporter; readonly onPresentationComplete: () => void; } /** Runs the shared Edit transaction for the dialog presentation. */ export declare class DialogEditOperation { private readonly arguments_; constructor(arguments_: DialogEditOperationArguments); /** Validates, persists, and commits one captured row update. */ run(form: EditorFormController, recordTarget: TTarget, original: Readonly, target: Readonly, presentation: DialogEditPresentation, updateCommittedTarget: (target: TTarget) => void, updateRetainedForm: (original: Readonly) => Promise): Promise; }