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 | undefined; class?: string | import("../types").ClassNameGetter | undefined; dataKey?: KeyType | undefined; fixed?: true | import("../constants").FixedDir | undefined; flexGrow?: import("csstype").GlobalsNumber | undefined; flexShrink?: import("csstype").GlobalsNumber | undefined; title?: string | undefined; hidden?: boolean | undefined; headerClass?: string | import("../types").HeaderClassGetter | undefined; maxWidth?: number | undefined; minWidth?: number | undefined; style?: CSSProperties | undefined; sortable?: boolean | undefined; 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 | undefined; class?: string | import("../types").ClassNameGetter | undefined; dataKey?: KeyType | undefined; fixed?: true | import("../constants").FixedDir | undefined; flexGrow?: import("csstype").GlobalsNumber | undefined; flexShrink?: import("csstype").GlobalsNumber | undefined; title?: string | undefined; hidden?: boolean | undefined; headerClass?: string | import("../types").HeaderClassGetter | undefined; maxWidth?: number | undefined; minWidth?: number | undefined; style?: CSSProperties | undefined; sortable?: boolean | undefined; width: number; cellRenderer?: import("../types").CellRenderer | undefined; headerCellRenderer?: import("../types").HeaderCellRenderer | undefined; }[]>; fixedColumnsOnRight: import("vue").ComputedRef<{ key: KeyType; align?: import("../types").Alignment | undefined; class?: string | import("../types").ClassNameGetter | undefined; dataKey?: KeyType | undefined; fixed?: true | import("../constants").FixedDir | undefined; flexGrow?: import("csstype").GlobalsNumber | undefined; flexShrink?: import("csstype").GlobalsNumber | undefined; title?: string | undefined; hidden?: boolean | undefined; headerClass?: string | import("../types").HeaderClassGetter | undefined; maxWidth?: number | undefined; minWidth?: number | undefined; style?: CSSProperties | undefined; sortable?: boolean | undefined; 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 | undefined; class?: string | import("../types").ClassNameGetter | undefined; dataKey?: KeyType | undefined; fixed?: true | import("../constants").FixedDir | undefined; flexGrow?: import("csstype").GlobalsNumber | undefined; flexShrink?: import("csstype").GlobalsNumber | undefined; title?: string | undefined; hidden?: boolean | undefined; headerClass?: string | import("../types").HeaderClassGetter | undefined; maxWidth?: number | undefined; minWidth?: number | undefined; style?: CSSProperties | undefined; sortable?: boolean | undefined; width: number; cellRenderer?: import("../types").CellRenderer | undefined; headerCellRenderer?: import("../types").HeaderCellRenderer | undefined; }[]>; visibleColumns: import("vue").ComputedRef<{ key: KeyType; align?: import("../types").Alignment | undefined; class?: string | import("../types").ClassNameGetter | undefined; dataKey?: KeyType | undefined; fixed?: true | import("../constants").FixedDir | undefined; flexGrow?: import("csstype").GlobalsNumber | undefined; flexShrink?: import("csstype").GlobalsNumber | undefined; title?: string | undefined; hidden?: boolean | undefined; headerClass?: string | import("../types").HeaderClassGetter | undefined; maxWidth?: number | undefined; minWidth?: number | undefined; style?: CSSProperties | undefined; sortable?: boolean | undefined; width: number; cellRenderer?: import("../types").CellRenderer | undefined; headerCellRenderer?: import("../types").HeaderCellRenderer | undefined; }[]>; getColumn: (key: KeyType) => { key: KeyType; align?: import("../types").Alignment | undefined; class?: string | import("../types").ClassNameGetter | undefined; dataKey?: KeyType | undefined; fixed?: true | import("../constants").FixedDir | undefined; flexGrow?: import("csstype").GlobalsNumber | undefined; flexShrink?: import("csstype").GlobalsNumber | undefined; title?: string | undefined; hidden?: boolean | undefined; headerClass?: string | import("../types").HeaderClassGetter | undefined; maxWidth?: number | undefined; minWidth?: number | undefined; style?: CSSProperties | undefined; sortable?: boolean | undefined; 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 declare type UseColumnsReturn = ReturnType;