import { MaybeRefOrGetter } from 'vue'; import { DataTableHeaders, TableColumnHeader, TableFilterInputConfig } from './types'; /** * Composable for merging, normalizing and enhancing table headers. * * @param headersProp - Headers provided by the table props. * @param storedHeaders - Optional headers restored from table state persistence. When both * sources are defined, persisted headers provide the base order and prop values override * matching headers. This value is not reactive because persistence is initialized once. * @param filterInputConfig - Optional filter-input configuration indexed by column key. * @returns Reactive header collections and utilities for retrieving or enhancing headers. */ export declare function useTableHeaders({ headersProp, storedHeaders, filterInputConfig, componentName, }: { headersProp: MaybeRefOrGetter; storedHeaders?: DataTableHeaders[]; filterInputConfig?: MaybeRefOrGetter | undefined>; componentName?: string; }): { headers: import('vue').Ref<{ title?: string | undefined; text?: string | undefined; value?: string | undefined; key?: string | undefined; filterable?: boolean | undefined; filterType?: import('./types').FilterType | undefined; filterConfig?: { [x: string]: unknown; debounceTime?: number | undefined; bgColor?: string | undefined; backgroundColor?: string | undefined; } | undefined; filterOptions?: { text: string; value: unknown; }[] | undefined; multiple?: boolean | undefined; chips?: boolean | undefined; sortable?: boolean | undefined; editable?: boolean | undefined; hideMessages?: boolean | undefined; dateFormat?: string | undefined; align?: "start" | "end" | "center" | undefined; order?: number | undefined; hidden?: boolean | undefined; width?: string | number | undefined; maxWidth?: string | number | undefined; minWidth?: string | number | undefined; headerProps?: Record | undefined; cellProps?: Record | undefined; }[] | undefined, DataTableHeaders[] | { title?: string | undefined; text?: string | undefined; value?: string | undefined; key?: string | undefined; filterable?: boolean | undefined; filterType?: import('./types').FilterType | undefined; filterConfig?: { [x: string]: unknown; debounceTime?: number | undefined; bgColor?: string | undefined; backgroundColor?: string | undefined; } | undefined; filterOptions?: { text: string; value: unknown; }[] | undefined; multiple?: boolean | undefined; chips?: boolean | undefined; sortable?: boolean | undefined; editable?: boolean | undefined; hideMessages?: boolean | undefined; dateFormat?: string | undefined; align?: "start" | "end" | "center" | undefined; order?: number | undefined; hidden?: boolean | undefined; width?: string | number | undefined; maxWidth?: string | number | undefined; minWidth?: string | number | undefined; headerProps?: Record | undefined; cellProps?: Record | undefined; }[] | undefined>; displayHeaders: import('vue').ComputedRef; filterableHeaders: import('vue').ComputedRef; getEnhancedHeader: (column: TableColumnHeader) => TableColumnHeader; getHeaderByKey: (key: string) => TableColumnHeader | undefined; getHeaderForColumn: (column: TableColumnHeader) => TableColumnHeader | undefined; };