/** * Registered header validation for the bulk preflight. * * The header row of the target tab must match the registered definition and * layout exactly: every cell a non-empty string, no duplicates, exact order * and width. Checkbox headers must be registered headers. user_input tabs * additionally carry the reserved `__hikoutei_row_id` system column as the * LAST header: a user property with that name fails closed, and a tab * provisioned without the system column (legacy format) fails closed with a * re-provision message instead of being silently read or repaired. */ import type { ParsedGridData } from "./preflightTypes.js"; /** Message used when a user_input tab lacks the system row-id column. */ export declare const SYSTEM_COLUMN_REPROVISION_MESSAGE = "user input tab is missing the __hikoutei_row_id system column; re-provision the route"; /** * Validates the header row against the registered definition and layout: * every cell must be a non-empty string, duplicates fail closed, and the * row must match the expected headers exactly. When `systemColumnHeader` is * provided the LAST column of the range must carry exactly that header * (fail-closed on legacy tabs and on a user property named like the system * column). * * §12 columnMap: when `physicalHeaders` is present (adopted routes), the * grid's header row is validated against THEM positionally while the * CANONICAL `expectedHeaders` (field names) are returned — so every * downstream consumer keys cells by field name and no legacy header text * leaks into the pipeline. */ export declare function readRegisteredHeaders(data: ParsedGridData, range: { readonly startColumn: number; readonly columnCount: number; }, expectedHeaders: readonly string[], systemColumnHeader?: string, physicalHeaders?: readonly string[]): readonly string[]; /** Returns the header cells of one grid as raw API values (no validation). */ export declare function gridHeaderCells(data: ParsedGridData, range: { readonly startColumn: number; readonly columnCount: number; }): readonly unknown[]; export declare function validateCheckboxHeaders(checkboxHeaders: readonly string[] | undefined, headers: readonly string[]): readonly string[]; //# sourceMappingURL=preflightHeaders.d.ts.map