import { ComputedRef, Ref } from 'vue';
import { Recordable } from '@maxax/types';
import { BasicTableEmitType, BasicTableProps, GetSelectionReturn, Key, TableRowSelection, VxeGridInstance } from '../interface';
export declare function useRowSelection(propsRef: ComputedRef<BasicTableProps>, tableData: Ref<Recordable[]>, emit: BasicTableEmitType, tableElRef: Ref<VxeGridInstance>): {
    getSelection: () => GetSelectionReturn;
    setSelection: () => Promise<void>;
    clearSelection: () => Promise<void>;
    getRowSelection: () => TableRowSelection<import("vxe-pc-ui/types/components/table").VxeTablePropTypes.Row>;
    selectedRowRef: Ref<Recordable<any>[], Recordable<any>[]>;
    selectedRowKeysRef: Ref<Key[], Key[]>;
    getRowSelectionRef: ComputedRef<TableRowSelection<import("vxe-pc-ui/types/components/table").VxeTablePropTypes.Row> | null>;
    getSelectRows: <T = Recordable<any>>() => T[];
    getSelectRowKeys: () => Key[];
    setSelectedRowKeys: (keyValues?: Key[]) => void;
    clearSelectedRowKeys: () => void;
    deleteSelectRowByKey: (key: Key) => void;
    setSelectedRows: (rows: Recordable[]) => void;
};
//# sourceMappingURL=use-row-selection.d.ts.map