import { RaRecord } from "../../types.cjs"; type UseRecordSelectionWithResourceArgs = { resource: string; storeKey?: string; disableSyncWithStore?: false; }; type UseRecordSelectionWithNoStoreArgs = { resource?: string; storeKey?: string; disableSyncWithStore: true; }; export type UseRecordSelectionArgs = UseRecordSelectionWithResourceArgs | UseRecordSelectionWithNoStoreArgs; export type UseRecordSelectionResult = [ RecordType['id'][], { select: (ids: RecordType['id'][]) => void; unselect: (ids: RecordType['id'][], fromAllStoreKeys?: boolean) => void; toggle: (id: RecordType['id']) => void; clearSelection: (fromAllStoreKeys?: boolean) => void; } ]; /** * Get the list of selected items for a resource, and callbacks to change the selection * * @param args.resource The resource name, e.g. 'posts' * @param args.storeKey The key to use to store selected items. Pass false to disable synchronization with the store. * @param args.disableSyncWithStore Controls the selection synchronization with the store * * @returns {Object} Destructure as [selectedIds, { select, unselect, toggle, clearSelection }]. */ export declare const useRecordSelection: (args: UseRecordSelectionArgs) => UseRecordSelectionResult; export {}; //# sourceMappingURL=useRecordSelection.d.ts.map