import type { EditorOperationTarget } from '../core/editor-operation.js'; import type { BatchEditorFormController } from '../form/batch-editor-form-controller.js'; import type { EditorFormController } from '../form/form-controller.js'; /** Resources owned by the currently open dialog action. */ export type DialogSession = { readonly action: 'create'; readonly form: EditorFormController; } | { readonly action: 'edit'; readonly form: EditorFormController; operationTarget: Readonly; original: Readonly; recordTarget: TTarget; } | { readonly action: 'batchEdit'; readonly form: BatchEditorFormController; readonly operationTargets: readonly Readonly[]; originals: readonly Readonly[]; readonly recordTargets: readonly TTarget[]; } | { readonly action: 'remove'; readonly operationTargets: readonly Readonly[]; readonly originals: readonly Readonly[]; readonly recordTargets: readonly TTarget[]; }; /** Releases the form owned by a dialog session, when present. */ export declare function destroyDialogSession(session: DialogSession): void; /** Returns the operation metadata associated with a dialog session. */ export declare function getDialogSessionOperation(session: DialogSession): { readonly operation: 'create' | 'remove'; } | { readonly operation: 'edit'; readonly target: Readonly; } | { readonly operation: 'batchEdit'; readonly targets: readonly Readonly[]; };