import BaseFoundation, { DefaultAdapter } from '../base/foundation'; import { BasicOptionProps } from './optionFoundation'; export interface SelectAdapter

, S = Record> extends DefaultAdapter { getTriggerWidth(): number; updateFocusState(focus: boolean): void; focusTrigger(): void; unregisterClickOutsideHandler(): void; setOptionWrapperWidth(width: string | number): void; getOptionsFromChildren(): BasicOptionProps[]; updateOptions(options: BasicOptionProps[]): void; rePositionDropdown(): void; updateFocusIndex(index: number): void; updateSelection(selection: Map): void; openMenu(cb?: () => void): void; notifyDropdownVisibleChange(visible: boolean): void; registerClickOutsideHandler(event: any): void; toggleInputShow(show: boolean, cb: () => void): void; closeMenu(): void; notifyCreate(option: BasicOptionProps): void; getMaxLimit(): number; getSelections(): Map; notifyMaxLimit(arg: BasicOptionProps): void; notifyClear(): void; updateInputValue(inputValue: string): void; focusInput(): void; focusDropdownInput(): void; notifySearch(inputValue: string, event?: any): void; registerKeyDown(handler: () => void): void; unregisterKeyDown(): void; notifyChange(value: string | BasicOptionProps | (string | BasicOptionProps)[]): void; notifySelect(value: BasicOptionProps['value'], option: BasicOptionProps): void; notifyDeselect(value: BasicOptionProps['value'], option: BasicOptionProps): void; notifyBlur(event: any): void; notifyFocus(event: any): void; notifyListScroll(event: any): void; notifyMouseLeave(event: any): void; notifyMouseEnter(event: any): void; updateHovering(isHover: boolean): void; updateScrollTop(index?: number): void; updateOverflowItemCount(count: number): void; getContainer(): any; getFocusableElements(node: any): any[]; getActiveElement(): any; setIsFocusInContainer(isFocusInContainer: boolean): void; getIsFocusInContainer(): boolean; on(eventName: string, eventCallback: () => void): void; off(eventName: string): void; emit(eventName: string): void; once(eventName: string, eventCallback: () => void): void; } type LabelValue = string | number; type PropValue = LabelValue | Record; export default class SelectFoundation extends BaseFoundation { constructor(adapter: SelectAdapter); _keydownHandler: (...arg: any[]) => void | null; init(): void; focus(): void; _focusTrigger(): void; destroy(): void; _setDropdownWidth(): void; _collectOptions(): BasicOptionProps[]; _setDefaultSelection(originalOptions: BasicOptionProps[]): void; handleOptionListChange(): void; handleOptionListChangeHadDefaultValue(): void; handleValueChange(value: PropValue): void; _update(propValue: PropValue, originalOptions: BasicOptionProps[]): void; _updateSingle(propValue: PropValue, originalOptions: BasicOptionProps[]): Map; _updateMultiple(propValue: PropValue[], originalOptions: BasicOptionProps[]): Map; _isMultiple(): any; _isDisabled(): any; _isFilterable(): boolean; handleClick(e: any): void; open(acInput?: string, originalOptions?: BasicOptionProps[]): void; toggle2SearchInput(isShow: boolean): void; close(closeConfig?: { event?: any; closeCb?: () => void; notToggleInput?: boolean; }): void; onSelect(option: BasicOptionProps, optionIndex: number, event: MouseEvent | KeyboardEvent): void; _handleSingleSelect({ value, label, ...rest }: BasicOptionProps, event: any): void; _handleMultipleSelect({ value, label, ...rest }: BasicOptionProps, event: MouseEvent | KeyboardEvent): void; clearSelected(): void; updateOptionsActiveStatus(selections: Map, options?: BasicOptionProps[]): void; removeTag(item: BasicOptionProps): void; clearInput(event?: any): void; focusInput(): void; handleInputChange(sugInput: string, event: any): void; _filterOption(originalOptions: BasicOptionProps[], sugInput: string): BasicOptionProps[]; _createOptionByInput(allowCreate: boolean, optionsAfterFilter: BasicOptionProps[], sugInput: string): BasicOptionProps[]; bindKeyBoardEvent(): void; unBindKeyBoardEvent(): void; _handleKeyDown(event: KeyboardEvent): void; handleContainerKeyDown(event: any): void; _getEnableFocusIndex(offset: number): void; _handleArrowKeyDown(offset: number): void; _handleTabKeyDown(event: any): void; _handlePanelOpenTabKeyDown(focusableElements: any[], event: any): void; _handlePanelOpenShiftTabKeyDown(focusableElements: any[], event: any): void; _handleEnterKeyDown(event: KeyboardEvent): void; _handleBackspaceKeyDown(): void; _notifyChange(selections: Map): void; _removeInternalKey(option: BasicOptionProps): { [x: string]: any; value?: string | number; label?: unknown; children?: unknown; disabled?: boolean; showTick?: boolean; className?: string; style?: Record; }; _notifySelect(value: BasicOptionProps['value'], option: BasicOptionProps): void; _notifyDeselect(value: BasicOptionProps['value'], option: BasicOptionProps): void; _diffSelections(selections: Map, oldSelections: Map, isMultiple: boolean): boolean; _notifyChangeWithObject(selections: Map): void; _notifyBlur(e: FocusEvent): void; _notifyFocus(e: FocusEvent): void; handleMouseEnter(e: MouseEvent): void; handleMouseLeave(e: MouseEvent): void; handleClearClick(e: MouseEvent): void; handleKeyPress(e: KeyboardEvent): void; handleClearBtnEnterPress(e: KeyboardEvent): void; handleOptionMouseEnter(optionIndex: number): void; handleListScroll(e: any): void; handleTriggerFocus(e: any): void; handleTriggerBlur(e: FocusEvent): void; handleInputBlur(e: any): void; selectAll(): void; /** * Check whether the props * -defaultValue/value in multiple selection mode is array * @param {Object} props */ checkMultipleProps(props?: Record): void; updateScrollTop(): void; updateOverflowItemCount(selectionLength: number, overFlowCount?: number): void; updateIsFullTags(): void; handlePopoverClose(): void; handleSlotMouseEnter(): void; } export {};