import { type FieldBatchRestriction } from '../fields/field-capabilities.js'; import { FieldRuntimeController } from './field-runtime-controller.js'; import type { AltEditorLiteLanguage } from '../core/alt-editor-lite-language.js'; import type { BatchFieldState } from '../core/batch-field-state.js'; import type { FieldConfig } from '../fields/field-config.js'; import type { FieldController, FieldValidationResult } from '../fields/field-controller.js'; import type { ManagedFieldController } from '../fields/managed-field-controller.js'; import type { FieldMountPoint } from './layout/form-layout.js'; export type BatchFieldConfig = Exclude, { readonly type: 'hidden'; }>; export type DisplayedBatchRestriction = Extract; export interface BatchFieldBindingArguments { readonly config: BatchFieldConfig; readonly fieldId: string; readonly language: Readonly; readonly lifecycleSignal: AbortSignal; readonly mount: (element: HTMLElement) => FieldMountPoint; readonly onDestroyRequest: (binding: BatchFieldBinding) => void; readonly onValueChange: () => void; readonly onErrorChange: () => void; readonly onRestore: (binding: BatchFieldBinding) => void; readonly onUserValue: (binding: BatchFieldBinding) => void; readonly originals: readonly Readonly[]; readonly validate: (binding: BatchFieldBinding) => Promise; } /** Coordinates semantic state and runtime resources for one batch field. */ export declare class BatchFieldBinding { #private; private readonly configuration; readonly config: Readonly>; readonly controller: ManagedFieldController; readonly isEqual: (left: unknown, right: unknown) => boolean; readonly field: FieldController; readonly restriction: DisplayedBatchRestriction | undefined; readonly restrictionText: string | undefined; readonly runtime: FieldRuntimeController; revision: number; state: Readonly>; constructor(configuration: BatchFieldBindingArguments); applyDependencyValue(value: unknown): void; applyUserValue(value: unknown): void; rebase(originals: readonly Readonly[]): void; destroy(): void; render(): void; }