import { type InlineEditSessionControllerArguments } from './inline-edit-session-controller.js'; import type { InlineColumnMappingRegistry } from './inline-column-mapping-registry.js'; import type { InlineEditPresentation } from './inline-edit-presentation.js'; import type { InlineEditState } from './inline-edit-state.js'; import type { ColumnSelector, RowSelector } from 'datatables.net'; export interface InlineEditControllerArguments extends Omit, 'interactionBehavior' | 'mappings' | 'onSessionEnd' | 'onSessionStart' | 'viewFactory'> { readonly mappingRegistry: InlineColumnMappingRegistry; readonly presentation: Readonly>; } /** Coordinates activation, extension integration, and one inline session owner. */ export declare class InlineEditController { private readonly controllerArguments; private readonly activationAbortController; private readonly detachActivation; private readonly keyTableIntegration; private readonly sessionController; constructor(controllerArguments: InlineEditControllerArguments); open(rowSelector: RowSelector, columnSelector: ColumnSelector): Promise; submit(): Promise; cancel(): Promise; getState(): Readonly; isEditing(): boolean; prepareForExternalOperation(): Promise; allowsExternalOperation(): boolean; destroy(): void; private get controllerPresentation(); private readonly activate; }