///
import Group from '310-logic/component/Group';
import Item from '310-logic/component/Item';
import Option from '310-logic/component/Option';
import List from '310-logic/component/List';
interface GroupProps extends Group {
active?: true;
disabled?: true;
highlighted?: true;
key: string;
items: ItemProps[];
onClick?: (e: React.MouseEvent) => void;
onMouseDown?: (e: React.MouseEvent) => void;
}
interface OptionProps extends Option {
active?: true;
disabled?: true;
highlighted?: true;
key: string;
onClick?: (e: React.MouseEvent) => void;
onMouseDown?: (e: React.MouseEvent) => void;
}
declare type ItemProps = GroupProps | OptionProps;
interface ListProps extends Omit {
head?: GroupProps;
items: ItemProps[];
}
interface ListConfig extends Omit {
active: number[];
disabled: number[][];
highlighted: number[][];
items: Item[];
preview?: true;
setActive: (value: number[], preview: boolean, event: React.TouchEvent | React.KeyboardEvent | React.MouseEvent) => void;
}
declare const useList: (config: ListConfig) => ListProps;
export default useList;
export { GroupProps, ItemProps, ListConfig, ListProps };