import Logger from '@douyinfe/semi-foundation/lib/cjs/utils/Logger';
import { cloneDeep } from '../_utils';
import { TableComponents, Virtualized } from './interface';
/**
 * @param {'vertical'|'horizontal'} [direction]
 * @returns {number}
 */
export declare function measureScrollbar(direction?: string): number;
export declare function amendTableWidth(tableWidth: number): number;
/**
 * The user can pass a component to define the rendering method of each level of the table
 * This function merges the components passed in by the user with the default components
 * @param {Object} components
 * @param {Boolean|Object} virtualized
 * @returns
 */
export declare function mergeComponents(components: TableComponents, virtualized: Virtualized): {
    table: string;
    header: {
        outer: string;
        wrapper: string;
        row: string;
        cell: string;
    };
    body: {
        outer: string;
        wrapper: string;
        row: string;
        cell: string;
        colgroup: {
            wrapper: string;
            col: string;
        };
    };
    footer: {
        wrapper: string;
        row: string;
        cell: string;
    };
} & TableComponents;
export declare const logger: Logger;
export declare function mergeColumns(oldColumns?: any[], newColumns?: any[], keyPropNames?: any[], deep?: boolean): any[];
export { cloneDeep };
