import { AtomMut } from '@reatom/framework'; import React from 'react'; import { GetGroupsResult } from '../../../utils/getGroups'; import { PropsWithDefault } from '../defaultProps'; import { CountedGroup, FlatSelectAllItem, FlatSelectGroupDefault, FlatSelectItemDefault, Group } from '../types'; export type OptionForCreate = { label: string; __optionForCreate: boolean; }; export type UseFlatSelectProps = { propsAtom: AtomMut>; }; export type OptionProps = { index: number; item: ITEM | OptionForCreate | FlatSelectAllItem; }; export type GetOptionPropsResult = { onClick: (e: React.MouseEvent) => void; onMouseEnter: (e: React.MouseEvent) => void; }; export declare const isOptionForCreate: (params: OptionForCreate | Group | ITEM) => params is OptionForCreate; export declare const isNotOptionForCreate: (params: OptionForCreate | Group) => params is Group; export declare const isOptionForSelectAll: (params: FlatSelectAllItem | ITEM) => params is FlatSelectAllItem; export declare function getCountedGroups(groups: GetGroupsResult, selectAll: boolean): CountedGroup[]; export declare const useFlatSelect: ({ propsAtom, }: UseFlatSelectProps) => { openAtom: AtomMut; inputFocusAtom: AtomMut; inputValueAtom: AtomMut; clearButtonAtom: AtomMut; onInput: import("@reatom/framework").Fn<[value?: string | undefined], void>; getOptionActions: import("@reatom/framework").Fn<[OptionProps], GetOptionPropsResult>; handleInputBlur: import("@reatom/framework").Fn<[e: React.FocusEvent], void>; getHandleRemoveValue: import("@reatom/framework").Fn<[item: ITEM], (e: React.SyntheticEvent) => void>; inputRef: React.RefObject; listRef: React.RefObject; handleInputChange: import("@reatom/framework").Fn<[e: React.ChangeEvent], void>; handleInputFocus: import("@reatom/framework").Fn<[e: React.FocusEvent], void>; visibleItemsAtom: AtomMut<(OptionForCreate | CountedGroup)[]>; clearValue: import("@reatom/framework").Fn<[], void>; optionsRefs: React.RefObject[]; highlightedIndexAtom: AtomMut; valueAtom: AtomMut; getItemKeyAtom: AtomMut>; onChangeAll: import("@reatom/framework").Fn<[e: React.SyntheticEvent, items: ITEM[]], void>; onCreate: import("@reatom/framework").Fn<[e: React.SyntheticEvent], void>; onChange: import("@reatom/framework").Fn<[e: React.SyntheticEvent, item: ITEM], void>; hasItemsAtom: AtomMut; groupsCounterAtom: AtomMut>; dropdownZIndexAtom: AtomMut; rootRef: React.RefCallback; disabledAtom: AtomMut; };