import type { ButtonProps, FormSchema, TableColumn, TableData, TableRow } from '@nuxt/ui'; import type { RowData } from '@tanstack/table-core'; import type { RouteLocationRaw } from 'vue-router'; import type { TablePreviewLinkProps } from '../components/TablePreviewLink.vue'; import type { FiltersField } from '../types'; declare module '@tanstack/table-core' { interface ColumnMeta { headerLabel?: string; } } export declare function useTableFiltersFields[]>(_schema: S, fields: F): { filtersFields: { -readonly [P in keyof F]: F[P]; }; }; export type TableColumnFormat = 'number' | 'date' | 'date-time'; export type TableColumnCustom = TableColumn & { format?: TableColumnFormat; to?: ((row: TableRow) => RouteLocationRaw | string | undefined) | RouteLocationRaw | string | undefined; target?: ButtonProps['target']; emptyValue?: string; image?: ((row: TableRow) => TablePreviewLinkProps['image'] | undefined | null) | TablePreviewLinkProps['image'] | undefined | null; description?: ((row: TableRow) => string | undefined | null) | string | undefined | null; }; export declare function useTableColumns, T extends readonly TableColumnCustom[] = readonly TableColumnCustom[]>(columns: T): { columns: { -readonly [P in keyof T]: T[P]; }; };