import type { AltEditorLiteLanguage } from '../core/alt-editor-lite-language.js'; import type { AltEditorLiteOptions, EditorErrorHookContext } from '../core/alt-editor-lite-options.js'; import type { EditorErrorReporter } from '../core/editor-error-reporter.js'; import type { EditorOperationTarget } from '../core/editor-operation.js'; import type { EditorHost } from '../host/editor-host.js'; type DialogOpenDetails = { readonly operation: 'create'; } | { readonly operation: 'edit'; readonly row: Readonly; readonly target: Readonly; } | { readonly operation: 'batchEdit'; readonly originals: readonly Readonly[]; readonly targets: readonly Readonly[]; } | { readonly operation: 'remove'; readonly rows: readonly Readonly[]; readonly targets: readonly Readonly[]; }; export interface DialogOpenCoordinatorArguments { readonly options: Readonly>; readonly language: Readonly; readonly host: EditorHost; readonly errorReporter: EditorErrorReporter; } /** Owns cancellation, reads, hooks, and error handling for dialog opening. */ export declare class DialogOpenCoordinator { #private; private readonly arguments_; constructor(arguments_: DialogOpenCoordinatorArguments); begin(): AbortController; get signal(): AbortSignal; complete(request: AbortController | undefined): void; cancel(): void; assertCurrent(request: AbortController): void; readSnapshots(targets: readonly TTarget[], request: AbortController, errorContext: EditorErrorHookContext): Promise[]>; runBeforeOpen(details: DialogOpenDetails, request: AbortController): Promise; destroy(): void; } export {};