import './FlatSelectList.css'; import { AtomMut } from '@reatom/framework'; import React from 'react'; import { FieldPropSize } from '../../FieldComponents'; import { PopoverPropOffset } from '../../Popover'; import { PropsWithJsxAttributes } from '../../../utils/types/PropsWithJsxAttributes'; import { CountedGroup } from '../types'; import { GetOptionPropsResult, OptionForCreate, OptionProps } from '../useFlatSelect'; export declare const FlatSelectListForm: readonly ["default", "brick", "round"]; export type FlatSelectListPropForm = (typeof FlatSelectListForm)[number]; export declare const defaultFlatSelectListPropForm: "default"; type RenderItemProps = { item: ITEM; active: boolean; hovered: boolean; onClick: (e: React.MouseEvent) => void; onMouseEnter: (e: React.MouseEvent) => void; ref: React.Ref; }; type Props = PropsWithJsxAttributes<{ size: FieldPropSize; listRef: React.Ref; getOptionActions(props: OptionProps): GetOptionPropsResult; openAtom: AtomMut; offset?: PopoverPropOffset | 'none'; isLoading?: boolean; renderItem: (props: RenderItemProps) => React.ReactNode | null; highlightedIndexAtom: AtomMut; visibleItemsAtom: AtomMut<(OptionForCreate | CountedGroup)[]>; getGroupLabel?: (group: GROUP) => string; labelForCreate?: ((label: string | undefined) => React.ReactNode) | React.ReactNode; labelForNotFound?: string; labelForEmptyItems?: string; notFound?: boolean; hasItemsAtom: AtomMut; itemsRefs: React.RefObject[]; virtualScroll?: boolean; onScrollToBottom?: (length: number) => void; valueAtom: AtomMut; getItemKeyAtom: AtomMut<(item: ITEM) => string | number>; onChangeAll: (e: React.SyntheticEvent, items: ITEM[]) => void; onChange: (e: React.SyntheticEvent, item: ITEM) => void; inputValueAtom: AtomMut; groupsCounterAtom: AtomMut>; dropdownZIndexAtom: AtomMut; selectAllLabel: string; view: 'default' | 'clear'; form: 'default' | 'brick' | 'round'; disabledAtom: AtomMut; }>; type FlatSelectListComponent = (props: Props) => React.ReactNode | null; export declare const FlatSelectList: FlatSelectListComponent; export {};