interface UseListSelectRequest { selectedElements: T[]; currentSelectedElement: T | undefined; previousSelectedElement: T | undefined; selectElement: (element: T) => void; deselectElement: (element: T) => void; revertPreviousSelectedElement: () => void; clearSelection: () => void; toggleSelectedElements: (element: T) => void; setSelectedElements: (elements: T[]) => void; } export declare function useListSelect(predicate: (element: T, elementToCompare: T) => boolean, initialSelectedElementCallback?: () => T | T[] | undefined, isMultiSelect?: boolean): UseListSelectRequest; export {};