import { MutableRefObject } from 'react'; import { DynamicListControlled } from './DynamicList'; export declare enum Direction { up = "up", down = "down", right = "right", left = "left" } export declare type SelectableProps = { selectableStore?: SelectableStore; selectableStoreRef?: MutableRefObject; onSelect?: (rows: any[], indices?: number[]) => void; alwaysSelected?: boolean; defaultSelected?: number; selectable?: 'multi' | boolean; items?: any[]; sortable?: boolean; pressDelay?: number; }; export declare const selectablePropKeys: string[]; declare type Modifiers = { shift?: boolean; option?: boolean; }; declare type SelectState = 'inactive' | 'selecting' | 'sorting'; export declare class SelectableStore { props: SelectableProps; dragStartIndex?: number; active: Set; lastEnter: number; listRef: DynamicListControlled; state: SelectState; private keyToIndex; rows: any[]; key: (item: any, index: number) => string | number; callbackOnSelect: void; updateRows: void; callbackRefProp: void; ensureAlwaysSelected: void; defaultSelectedProp: void; private removeUnselectable; private setActive; updateActiveAndKeyToIndex(next?: (string | number)[], updateActive?: boolean): void; selectFirstValid(): void; getSelectedState(): { rows: any[]; indices: any[]; }; move: (direction: Direction, modifiers?: Modifiers) => number; moveToId: (rowKey: string) => void; setListRef(ref: DynamicListControlled): void; get activeIndex(): number; setActiveIndex: (index: number) => void; isActiveIndex(index: number): boolean; setRowActive(index: number, e?: React.MouseEvent): void; sortableMouseDownIndex: number; sortableMouseDownTm: any; setRowMouseDown(index: number, e?: React.MouseEvent): void; private clearMouseMoveWatcher; private clearOnSelectOrSortWatchers; private onStopDragSelecting; onHoverRow(index: number): false | Direction.up | Direction.down; onKeyDown: (e: KeyboardEvent) => void; clearSelected: () => void; setSorting: (val: boolean) => Promise; private getIndexKey; private scrollToIndex; private selectInRange; private getModifiers; } export declare const SelectableStoreProvider: ({ value, children }: { value: SelectableStore; children: any; }) => JSX.Element; export declare function useCreateSelectableStore(props?: SelectableProps, options?: { react: boolean; }): SelectableStore; export declare function useSelectableStore(): SelectableStore; export {}; //# sourceMappingURL=SelectableStore.d.ts.map