import type { InlineColumnMapping } from './inline-column-mapping.js'; import type { InlineEditSession } from './inline-edit-session.js'; import type { InlineNavigationIntent } from './inline-navigation.js'; import type { AltEditorLiteError } from '../core/alt-editor-lite-error.js'; import type { AltEditorLiteLanguage } from '../core/alt-editor-lite-language.js'; import type { ResolvedInlineEditingOptions } from '../core/resolve-editing-options.js'; import type { LogicalCellTarget } from '../datatables/commit-row-update.js'; import type { DataTablesHost } from '../datatables/datatables-host.js'; export interface InlineFocusCoordinatorArguments { readonly enabled: boolean; readonly instanceId: string; readonly language: Readonly; readonly mappings: ReadonlyMap>>; readonly options: Readonly>; readonly host: DataTablesHost; } /** Owns inline alert focus, blur state, and post-commit focus recovery. */ export declare class InlineFocusCoordinator { private readonly arguments_; private readonly alertDialog; private readonly stateMachine; private activeAlertToken; private nextAlertId; constructor(arguments_: InlineFocusCoordinatorArguments); sessionMounted(): void; validationStarted(): void; submissionStarted(): void; operationReturnedToEditing(): void; shouldApplyBlurAction(): boolean; /** Presents a modal summary and restores the active inline control. */ showAlert(session: InlineEditSession, error: AltEditorLiteError, kind: 'validation' | 'operation', isCurrentSession: () => boolean, isDestroyed: () => boolean): Promise; /** Restores navigation or committed-cell focus after session cleanup. */ restoreAfterCommit(session: InlineEditSession, navigationIntent: InlineNavigationIntent | undefined, focusTarget: Readonly> | undefined, openSession: (rowIndex: number, columnIndex: number) => Promise): Promise; /** Begins the single session teardown sequence and closes active alerts. */ beginCleanup(): void; /** Completes focus bookkeeping after owned session DOM is removed. */ completeCleanup(): void; /** Restores the element focused before inline activation when still available. */ restoreOrigin(session: InlineEditSession): void; /** Removes the alert dialog and permanently closes focus coordination. */ destroy(): void; }