import { Ref } from 'vue';
import { ColRecord } from '../utils';
import { VxeTableInstance } from 'vxe-pc-ui';
export interface ElementRect extends DOMRect {
    realHeight: number;
    realWidth: number;
    target?: HTMLElement | null;
}
export declare function useVxeTableColumnSlotRecord(tableRef: Ref<VxeTableInstance | undefined>): {
    getRecordId: (arg0: any, ...args: any[]) => string;
    getElementRect: (el: HTMLElement, callback?: (...args: any[]) => any) => {
        target: HTMLElement;
        contentRect: ElementRect;
        realHeight: number;
        realWidth: number;
        toJSON(): ElementRect;
    };
    isFixedRecord: (...args: any[]) => boolean;
    isHiddenRecord: (...args: any[]) => boolean;
    cellNodeRect: {
        updateNodeRect: (...args: any[]) => void;
        updateRowNodeRect: (...args: any[]) => void;
        updateRowsNodeRect: (tbody: HTMLElement) => void;
        getNodeRect: (...args: any[]) => any;
        nodeRecords: import('vue').ComputedRef<{
            readonly [x: string]: any;
        }>;
        getRowNodeRectHeight: (...args: any[]) => any;
        tableCellStyle: (record: ColRecord) => {
            '--vxe-cell-min-height': string;
        };
    };
    stop: () => void;
};
