///
import { ComponentClass, MouseEvent, ReactNode } from 'react';
import { PassTroughFunction } from '../../utils/getPassThrough';
export interface ListItemNodeProps {
className?: string;
disabled?: boolean;
onClick(event: MouseEvent): void;
onMouseDown(event: MouseEvent): void;
onMouseEnter(event: MouseEvent): void;
onMouseLeave(event: MouseEvent): void;
}
export interface ListItemFactoryArgs {
ListItemNode: ComponentClass;
passthrough: PassTroughFunction, 'ListItemNode'>;
}
export interface ListItemProps {
children: ReactNode;
className?: string;
disabled?: boolean;
onClick?(event: MouseEvent, value: T): void;
onMouseDown?(event: MouseEvent, value: T): void;
onMouseEnter?(event: MouseEvent, value: T): void;
onMouseLeave?(event: MouseEvent, value: T): void;
value: T;
}
export default function listItemFactory({ListItemNode, passthrough}: ListItemFactoryArgs): ComponentClass>;