import type { VNode } from 'vue';
import type { TableColumnCtx } from './table-column/defaults';
import type { RenderRowData } from './table/defaults';
import type { Store } from './store';
export declare const cellStyles: {
    default: {
        order: string;
    };
    selection: {
        width: number;
        minWidth: number;
        columnWidth: number;
        order: string;
    };
    expand: {
        width: number;
        minWidth: number;
        columnWidth: number;
        order: string;
    };
    index: {
        width: number;
        minWidth: number;
        columnWidth: number;
        order: string;
    };
};
export declare function mergeOptions<T, K>(defaults: T, config: K): T & K;
export declare function compose(...funcs: any[]): any;
export declare function defaultRenderCell({ row, column, $index, }: {
    row: any;
    column: TableColumnCtx;
    $index: number;
}): any;
export declare function treeCellPrefix({ row, treeNode, store }: RenderRowData, createPlaceholder?: boolean): VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}>[];
export declare const cellForced: {
    selection: {
        renderHeader({ store }: {
            store: Store;
        }): VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>;
        renderCell({ row, column, store, $index, }: {
            row: any;
            column: TableColumnCtx;
            store: Store;
            $index: string;
        }): VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>;
        sortable: boolean;
        resizable: boolean;
    };
    index: {
        renderHeader({ column }: {
            column: TableColumnCtx;
        }): string;
        renderCell({ column, $index }: {
            column: TableColumnCtx;
            $index: number;
        }): VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>;
    };
    expand: {
        renderHeader({ column }: {
            column: TableColumnCtx;
        }): string;
        renderCell({ row, store, expanded, }: {
            row: TableColumnCtx;
            store: Store;
            expanded: boolean;
        }): VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>;
        sortable: boolean;
        resizable: boolean;
    };
};
export declare const getDefaultClassName: (type: any) => any;
