import { default as ColumnModel } from './columnModel'; import { default as GridModel } from './gridModel'; export interface ColumnVisibilityEntry { id: string; label: string; column: ColumnModel; visible: boolean; } /** * Backs the top-bar column-visibility menu: the toggleable (user data) columns, which * are currently shown, and a diff-based bulk setter. */ export default class ColumnVisibilityModel { readonly grid: GridModel; constructor(grid: GridModel); /** All user data leafs (visible and hidden) — excludes row-number/selection/detail/grouping. */ get entries(): ColumnVisibilityEntry[]; get selectedIds(): string[]; get total(): number; get hiddenCount(): number; get hasHidden(): boolean; /** Make exactly the columns in `ids` visible, toggling only those whose state must change. */ setVisibility: (ids: string[]) => void; }