import * as React from 'react'; import noop from 'zent/es/utils/noop'; import { IDisabledContext } from 'zent'; import Popover from '../popover'; import Option from './components/Option'; import SelectTrigger from './trigger/BaseTrigger'; import InputTrigger from './trigger/InputTrigger'; import TagsTrigger from './trigger/TagsTrigger'; export interface ISelectItem { value: T; text: string; } export interface ISelectChangeEventTarget { type: 'select-multiple' | 'select-one'; value: T; } export interface ISelectChangeEvent { target: ISelectChangeEventTarget; preventDefault(): void; stopPropagation(): void; } export interface ISelectProps { data?: unknown[]; tags?: boolean; value?: any; index?: any; disabled?: boolean; placeholder?: string; searchPlaceholder?: string; emptyText?: string; trigger?: React.ComponentType; optionText?: string; optionValue?: string; onChange?: (event: ISelectChangeEvent, value: any) => void; onDelete?: (date: any) => void; filter?: (item: any, keyword?: string) => boolean; onFilter?: (item: any, keyword?: string) => boolean; maxToShow?: number; onAsyncFilter?: (keyword: string, callback: (data: any) => void) => void; onEmptySelected?: (event: React.SyntheticEvent, value?: unknown) => void; onOpen?: () => void; className?: string; popupClassName?: string; autoWidth?: boolean; resetOption?: boolean; resetText?: string; retainNullOption?: boolean; width?: number | string; simple?: boolean; search?: boolean; } export declare class Select extends React.Component { static defaultProps: { open: boolean; optionValue: string; optionText: string; onChange: typeof noop; onDelete: typeof noop; onEmptySelected: typeof noop; onOpen: typeof noop; autoWidth: boolean; resetOption: boolean; resetText: string; retainNullOption: boolean; value: any; index: any; initialValue: any; initialIndex: any; }; static Option: typeof Option; static SelectTrigger: typeof SelectTrigger; static InputTrigger: typeof InputTrigger; static TagsTrigger: typeof TagsTrigger; static contextType: React.Context; context: IDisabledContext; popover: Popover | null; popup: React.ComponentType | null; uniformedData: Array<{ cid: string; value: any; text: any; }>; constructor(props: ISelectProps); componentWillReceiveProps(nextProps: any): void; uniformData(props: any): { cid: string; value: any; text: any; }[]; findSelected(props: any, data?: { cid: string; value: any; text: any; }[]): { selectedItem: any; selectedItems: any[]; }; locateSelected(state: any, coord: any, item: any, i: any): void; triggerChangeHandler: (data: any) => void; triggerDeleteHandler: (data: any) => void; optionChangedHandler: (ev: any, selectedItem: any) => void; handlePopoverVisibleChange: (visible: any) => void; render(): JSX.Element; } export default Select;