/** Pure adapter between resolved field policy and smrt-ui DataTable columns. */ import type { ResolvedObjectFieldPolicy } from '../types.js'; export interface PolicyDataTableColumn { id: string; /** DataTable still enforces this independently; excluding it here is useful * to callers that inspect the returned set before rendering. */ hidden?: boolean; sensitivity?: 'sensitive' | 'secret'; readable?: boolean; } export interface PolicyDataTableOptions { /** Explicit host authorization for otherwise restricted columns. */ authorizedColumnIds?: readonly string[]; } /** * Produce DataTable's `visibleColumnIds` set from a resolved policy. * * Only policy-mapped hidden fields are removed. Columns with no matching field * remain visible so computed, selection, and action columns keep working. * Static `column.hidden` remains authoritative and can never be undone. */ export declare function policyToVisibleColumnIds(policy: ResolvedObjectFieldPolicy, columns: readonly PolicyDataTableColumn[], fieldNameByColumnId?: Readonly>, options?: PolicyDataTableOptions): Set; //# sourceMappingURL=data-table.d.ts.map