import type { ComputedRef, Ref } from 'vue';
import type { TableCustomRecord, TableProps } from '../types/table';
import type { Recordable } from '../../typings/global';
export declare function useTableExpand(propsRef: ComputedRef<TableProps>, tableData: Ref<Recordable[]>, emit: (event: any, ...args: any[]) => void): {
    getRowKeyRef: ComputedRef<string | ((record: TableCustomRecord<any>) => string)>;
    getExpandedBindsRef: ComputedRef<{
        expandedRowKeys?: undefined;
        onExpandedRowsChange?: undefined;
    } | {
        expandedRowKeys: string[];
        onExpandedRowsChange: (expandedRows: string[]) => void;
    }>;
    expandRows: (keys: string[]) => void;
    expandAll: () => void;
    collapseAll: () => void;
    getExpandedKeys: () => string[];
};
