import { ResizeState, StickyPosition, VTableColumnProps, VTableProps, VTableStyleConfig, VTableRenderSlot } from '../types'; import { ComputedRef, Ref } from 'vue'; export declare function useTableColumns(columns: VTableColumnProps[]): { sortedColumns: ComputedRef; getDefaultColumnWidth: () => number; getStickyOffset: (side: StickyPosition, index: number, hasSelectable?: boolean, hasDragHandle?: boolean) => number; }; /** * Композабл для генерації стилів таблиці */ export declare function useTableStyles(props: VTableProps): { getTableWrapperStyle: () => VTableStyleConfig; getColumnStyle: (col: VTableColumnProps, index: number, getStickyOffsetFn: (side: StickyPosition, index: number, hasSelectable?: boolean) => number, getDefaultColumnWidth: () => number) => VTableStyleConfig; getHeaderStyle: (col: VTableColumnProps, index: number, getStickyOffsetFn: (side: StickyPosition, index: number, hasSelectable?: boolean) => number, getDefaultColumnWidth: () => number) => VTableStyleConfig; getFooterStyle: (col: VTableColumnProps, index: number, getStickyOffsetFn: (side: StickyPosition, index: number, hasSelectable?: boolean) => number, getDefaultColumnWidth: () => number) => VTableStyleConfig; }; /** * Композабл для ресайзу колонок */ export declare function useColumnResize(): { onMouseDown: (e: MouseEvent, col: VTableColumnProps, getDefaultColumnWidth: (prop: string) => number, callback?: (newWidth: number) => void) => void; resizeState: Ref<{ resizingCol: { prop: string; label: string; width?: number | undefined; minWidth?: number | undefined; maxWidth?: number | undefined; sortable?: boolean | undefined; pinnedLeft?: boolean | undefined; pinnedRight?: boolean | undefined; actionColumn?: boolean | undefined; showOverflowTooltip?: boolean | undefined; selectable?: boolean | undefined; manage?: boolean | undefined; renderSlot?: VTableRenderSlot | undefined; sortMethod?: Function | undefined; } | null; startX: number; startWidth: number; }, ResizeState | { resizingCol: { prop: string; label: string; width?: number | undefined; minWidth?: number | undefined; maxWidth?: number | undefined; sortable?: boolean | undefined; pinnedLeft?: boolean | undefined; pinnedRight?: boolean | undefined; actionColumn?: boolean | undefined; showOverflowTooltip?: boolean | undefined; selectable?: boolean | undefined; manage?: boolean | undefined; renderSlot?: VTableRenderSlot | undefined; sortMethod?: Function | undefined; } | null; startX: number; startWidth: number; }>; }; //# sourceMappingURL=composables.d.ts.map