/** Maps declared DataSurface controls onto the existing DataTable command model. */ import type { DataTableCommand } from './DataTableController.js'; import type { DataSurfaceVisibleCommand } from './data-surface.js'; /** * Every `controlId` {@link dataTableCommandFromDataSurfaceCommand} below * understands as a table command (as opposed to a component-local control it * returns `null` for). Declared once, here, as the sole source of truth: the * `Record` below is a mapped type over this union, so the compiler — not a * comment — rejects both a missing handler for a listed id and a handler * keyed by an id not listed here. There is no second list and no `switch` to * drift out of sync with it. */ export type DataTableSurfaceControlId = 'set-search' | 'set-filters' | 'set-sorting' | 'toggle-sorting' | 'set-page' | 'set-page-size' | 'set-column-order' | 'set-column-visibility' | 'set-selected-rows' | 'toggle-row-selection' | 'set-expanded-rows' | 'toggle-row-expansion' | 'reset'; /** * Mechanically derived from {@link dataTableSurfaceControlHandlers} — never * hand-copy this list. A consumer that must distinguish "this controlId * names a table command whose payload failed to translate" from "this is a * genuinely unknown/custom control" (for example to deny the former outright * rather than forwarding it to a generic escape hatch) imports this. */ export declare const DATA_TABLE_SURFACE_CONTROL_IDS: DataTableSurfaceControlId[]; /** * Returns `null` for a component-local control (focus, reveal, refresh, …) or * an invalid table command. The mounted component owns those local controls. */ export declare function dataTableCommandFromDataSurfaceCommand(command: DataSurfaceVisibleCommand): DataTableCommand | null; //# sourceMappingURL=data-table-surface.d.ts.map