import type { TableProps, GetColumnsParams } from '../types/table';
import type { ColumnPropsEx, CellFormat } from '../types/column';
import type { PaginationProps } from '../../pagination';
import type { ComputedRef } from 'vue';
import type { Recordable } from '../../typings/global';
export declare function useColumns(propsRef: ComputedRef<TableProps>, getPaginationRef: ComputedRef<boolean | PaginationProps>, emit: (event: any, ...args: any[]) => void): {
    getColumnsRef: ComputedRef<ColumnPropsEx<any>[]>;
    getCacheColumns: () => any;
    getColumns: (opt?: GetColumnsParams | undefined) => ColumnPropsEx<any>[];
    setColumns: (columnList: Partial<ColumnPropsEx>[] | string[]) => void;
    getViewColumns: ComputedRef<ColumnPropsEx<any>[]>;
    setCacheColumnsByField: (dataIndex: string | undefined, value: Partial<ColumnPropsEx>) => void;
    handleResizeColumn: (width: number, col: Partial<ColumnPropsEx>) => void;
    getMutationColumns: () => ColumnPropsEx<any>[];
    resetColumns: () => void;
};
export declare function formatCell(text: any, format: CellFormat, record: Recordable, index: number): any;
