import type { ColumnViewProps, TableMode } from '../../../types/index.js'; import type { Template, ViewMenuItem } from '../types'; export declare const createCustomViewMenuItem: (name: string, selectedColumns: ColumnViewProps[], isDefault?: boolean) => ViewMenuItem; export declare const setViewAsDefault: (views: ViewMenuItem[], viewId: string) => ViewMenuItem[]; /** * Resolves the preset role of a template. A template is a preset (renders as a nested column-picker * dropdown) when the API marks it with a `role`. The `default: true` flag is treated as an implicit * role for backward compatibility with payloads that predate the `role` field. */ export declare const getTemplateRole: (template: Pick) => string | undefined; /** Preset views (have a role) render as nested dropdowns; user-created views do not. */ export declare const isPresetView: (item: Pick) => boolean; /** User-created custom views are everything that is not a preset. */ export declare const isCustomView: (item: Pick) => boolean; export declare const isCustomTemplate: (template: Pick) => boolean; export declare const countCustomTemplates: (templates: Template[]) => number; export declare const countCustomViewMenuItems: (items: ViewMenuItem[]) => number; export declare const transformTemplatesToViewMenuItems: (templates: Template[], mode?: TableMode, lang?: string) => { customViews: ViewMenuItem[]; defaultTemplates: ViewMenuItem[]; defaultTemplateColumns?: ColumnViewProps[] | undefined; defaultTemplate?: ViewMenuItem | undefined; }; export declare const mapTemplatesToMenuItems: (templates: Template[], mode?: TableMode, lang?: string) => { customViews: ViewMenuItem[]; defaultTemplates: ViewMenuItem[]; defaultTemplate: ViewMenuItem | undefined; allTemplates: ViewMenuItem[]; }; export declare const getSubmenuItems: (item: ViewMenuItem, defaultColumns: ColumnViewProps[]) => ColumnViewProps[]; export declare const hasSubmenu: (item: ViewMenuItem, defaultColumns: ColumnViewProps[]) => boolean; /** Columns for menu display only: exclude index so it is hidden in the UI but still present in table */ export declare const getSubmenuItemsForDisplay: (columns: ColumnViewProps[]) => ColumnViewProps[];