import type { InlineEditSession } from './inline-edit-session.js'; import type { InlineEditViewFactory } from './inline-edit-view-factory.js'; import type { InlineTargetCapture } from './inline-target-capture.js'; import type { AltEditorLiteLanguage } from '../core/alt-editor-lite-language.js'; import type { InteractionToken } from '../core/editing/interaction-coordinator.js'; import type { ResolvedInlineEditingOptions } from '../core/resolve-editing-options.js'; export interface InlineSessionFactoryArguments { readonly instanceId: string; readonly language: Readonly; readonly options: Readonly>; readonly tableElement: HTMLTableElement; readonly viewFactory: InlineEditViewFactory; readonly onUserChange: () => void; readonly onCancel: (reason: 'cancel' | 'escape') => void; readonly onSubmit: () => void; } export interface InlineSessionFactoryRequest { readonly capture: InlineTargetCapture; readonly interactionToken: InteractionToken; readonly originalActiveElement: Element | null; readonly sessionId: number; readonly signal: AbortSignal; } /** Creates editor-owned controller, view, and session resources without mounting. */ export declare class InlineSessionFactory { private readonly arguments_; constructor(arguments_: InlineSessionFactoryArguments); /** Builds one complete unmounted session or releases partially created resources. */ create(request: InlineSessionFactoryRequest): Promise>; }