import { innerRowSelectionType } from '../typing';
declare function useTableSelection(config: ({
    getProps?: ((record: any, index: number) => any) | undefined;
    onChange?: ((selectedRowKeys: any[], records: any[]) => void) | undefined;
    onSelect?: ((selected: boolean, record: any, records: any[]) => void) | undefined;
    onSelectAll?: ((selected: boolean, records: any[]) => void) | undefined;
    selectedRowKeys?: any[] | undefined;
    selectedRecords?: any[] | undefined;
    mode?: "multiple" | "single" | undefined;
    titleProps?: (() => any) | undefined;
    columnProps?: (() => any) | undefined;
    titleAddons?: (() => any) | undefined;
    defaultSelectedRowKeys?: any[] | undefined;
    defaultSelectedRecords?: any[] | undefined;
} & {
    getProps?: ((record: any, index: number) => void) | undefined;
    onChange?: ((selectedRowKeys: any[], records: any[]) => void) | undefined;
    onSelect?: ((selected: boolean, record: any, records: any[]) => void) | undefined;
    onSelectAll?: ((selected: boolean, records: any[]) => void) | undefined;
    selectedRowKeys?: any[] | undefined;
    mode?: "multiple" | "single" | undefined;
    titleProps?: (() => any) | undefined;
    columnProps?: (() => any) | undefined;
    titleAddons?: (() => any) | undefined;
}) | undefined, records: any, primaryKey?: string): innerRowSelectionType;
export default useTableSelection;
