///
export interface IDataSelectItemComponentProps {
selected: boolean;
item: T;
}
export interface IDataListConfig {
items: T[];
itemKey(item: T): string;
}
export interface IDataSource {
items: T[];
selectedKeys: Set;
itemKey: (item: T) => string;
readonly selections: T[];
readonly selectableKeys: Set;
readonly allSelected: boolean;
isSelected(item: T): boolean;
selectOnly(item: T): void;
selectAll(): void;
unselectAll(): void;
toggleSelectAll(): void;
select(item: T): void;
unselect(item: T): void;
toggleSelect(item: T): void;
onInvoke(e: React.MouseEvent, item: T): void;
onSelect(item: T): void;
onContextMenu(item: T): void;
}