import type { CSSProperties, Ref } from 'vue'; import type { TableV2Props } from '../table'; import type { AnyColumns, Column, KeyType } from '../types'; declare function useColumns(props: TableV2Props, columns: Ref, fixed: Ref): { columns: import("vue").ComputedRef<{ key: KeyType; align?: import("../types").Alignment; class?: string | import("../types").ClassNameGetter | undefined; dataKey?: KeyType; fixed?: true | import("../types").FixedDirection; flexGrow?: CSSProperties["flexGrow"]; flexShrink?: CSSProperties["flexShrink"]; title?: string; hidden?: boolean; headerClass?: string | import("../types").HeaderClassGetter | undefined; maxWidth?: number; minWidth?: number; style?: CSSProperties; sortable?: boolean; width: number; cellRenderer?: import("../types").CellRenderer | undefined; headerCellRenderer?: import("../types").HeaderCellRenderer | undefined; }[]>; columnsStyles: import("vue").ComputedRef>; columnsTotalWidth: import("vue").ComputedRef; fixedColumnsOnLeft: import("vue").ComputedRef<{ key: KeyType; align?: import("../types").Alignment; class?: string | import("../types").ClassNameGetter | undefined; dataKey?: KeyType; fixed?: true | import("../types").FixedDirection; flexGrow?: CSSProperties["flexGrow"]; flexShrink?: CSSProperties["flexShrink"]; title?: string; hidden?: boolean; headerClass?: string | import("../types").HeaderClassGetter | undefined; maxWidth?: number; minWidth?: number; style?: CSSProperties; sortable?: boolean; width: number; cellRenderer?: import("../types").CellRenderer | undefined; headerCellRenderer?: import("../types").HeaderCellRenderer | undefined; }[]>; fixedColumnsOnRight: import("vue").ComputedRef<{ key: KeyType; align?: import("../types").Alignment; class?: string | import("../types").ClassNameGetter | undefined; dataKey?: KeyType; fixed?: true | import("../types").FixedDirection; flexGrow?: CSSProperties["flexGrow"]; flexShrink?: CSSProperties["flexShrink"]; title?: string; hidden?: boolean; headerClass?: string | import("../types").HeaderClassGetter | undefined; maxWidth?: number; minWidth?: number; style?: CSSProperties; sortable?: boolean; width: number; cellRenderer?: import("../types").CellRenderer | undefined; headerCellRenderer?: import("../types").HeaderCellRenderer | undefined; }[]>; hasFixedColumns: import("vue").ComputedRef; mainColumns: import("vue").ComputedRef; normalColumns: import("vue").ComputedRef<{ key: KeyType; align?: import("../types").Alignment; class?: string | import("../types").ClassNameGetter | undefined; dataKey?: KeyType; fixed?: true | import("../types").FixedDirection; flexGrow?: CSSProperties["flexGrow"]; flexShrink?: CSSProperties["flexShrink"]; title?: string; hidden?: boolean; headerClass?: string | import("../types").HeaderClassGetter | undefined; maxWidth?: number; minWidth?: number; style?: CSSProperties; sortable?: boolean; width: number; cellRenderer?: import("../types").CellRenderer | undefined; headerCellRenderer?: import("../types").HeaderCellRenderer | undefined; }[]>; visibleColumns: import("vue").ComputedRef<{ key: KeyType; align?: import("../types").Alignment; class?: string | import("../types").ClassNameGetter | undefined; dataKey?: KeyType; fixed?: true | import("../types").FixedDirection; flexGrow?: CSSProperties["flexGrow"]; flexShrink?: CSSProperties["flexShrink"]; title?: string; hidden?: boolean; headerClass?: string | import("../types").HeaderClassGetter | undefined; maxWidth?: number; minWidth?: number; style?: CSSProperties; sortable?: boolean; width: number; cellRenderer?: import("../types").CellRenderer | undefined; headerCellRenderer?: import("../types").HeaderCellRenderer | undefined; }[]>; getColumn: (key: KeyType) => { key: KeyType; align?: import("../types").Alignment; class?: string | import("../types").ClassNameGetter | undefined; dataKey?: KeyType; fixed?: true | import("../types").FixedDirection; flexGrow?: CSSProperties["flexGrow"]; flexShrink?: CSSProperties["flexShrink"]; title?: string; hidden?: boolean; headerClass?: string | import("../types").HeaderClassGetter | undefined; maxWidth?: number; minWidth?: number; style?: CSSProperties; sortable?: boolean; width: number; cellRenderer?: import("../types").CellRenderer | undefined; headerCellRenderer?: import("../types").HeaderCellRenderer | undefined; } | undefined; getColumnStyle: (key: KeyType) => CSSProperties; updateColumnWidth: (column: Column, width: number) => void; onColumnSorted: (e: MouseEvent) => void; }; export { useColumns }; export type UseColumnsReturn = ReturnType;