import { KeyboardEvent, MouseEvent, ReactNode } from 'react'; import { Override } from '../overrides/types'; import { SpacewebComponentProps } from '../types'; import { StatefulTooltipProps } from '../tooltip'; export declare type AlignItems = 'start' | 'center'; export declare type Enhancer = ReactNode | ((props: SharedProps) => ReactNode); export declare type ListItemSharedProps = { $withStartEnhancer: boolean; $withEndEnhancer: boolean; $alignItems: AlignItems; $disabled: boolean; $selected: boolean; $highlighted: boolean; $button: boolean; }; export declare type ListItemProps = SpacewebComponentProps & { alignItems?: AlignItems; autoFocus?: boolean; button?: boolean; children?: ReactNode; disabled?: boolean; endEnhancer?: Enhancer; highlighted?: boolean; onClick?: (event: MouseEvent | KeyboardEvent) => void; overrides?: { ChildContainer?: Override>; EndEnhancer?: Override>; Root?: Override>; StartEnhancer?: Override>; StatefulTooltip?: Override>; }; selected?: boolean; startEnhancer?: Enhancer; tooltipContent?: StatefulTooltipProps['content']; }; export declare type ListProps = SpacewebComponentProps & { children?: ReactNode; virtual?: boolean; overrides?: { Root?: Override>; }; scrollElement?: HTMLElement | null; overscanCount?: number; estimateItemSize?: number; $showFocusOutline?: boolean; }; export declare type ListItemTextProps = { children?: ReactNode; overrides?: { PrimaryText?: Override>; Root?: Override>; SecondaryText?: Override>; }; secondary?: ReactNode; }; export declare type DividerProps = SpacewebComponentProps & { /** * If true, remove top padding and border. When rendering first subheader of the list. */ first?: boolean; overrides?: { Separator?: Override<{}>; SubHeader?: Override<{}>; }; };