import * as React from 'react'; import { PureComponent } from 'react'; import noop from 'zent/es/utils/noop'; import { IDisabledContext } from 'zent'; import Popover from '../popover'; import { IPopoverClickTriggerProps } from '../popover/trigger/ClickTrigger'; import { II18nLocaleCascader } from '../i18n'; import { ICascaderItem, CascaderHandler, CascaderValue } from './types'; export interface IPopverClickTriggerProps extends IPopoverClickTriggerProps { disabled: boolean; } export interface ICascaderProps { type?: 'tabs' | 'menu'; value?: CascaderValue[]; options?: Item[]; title?: React.ReactNode[]; onChange?: (value: Item[]) => void; loadMore?: (item: Item, stage: number) => Promise; changeOnSelect?: boolean; placeholder?: string; className?: string; popClassName?: string; displayText?: (value: Item[]) => React.ReactNode; expandTrigger?: 'click' | 'hover'; disabled?: boolean; } export interface ICascaderState { value: CascaderValue[]; options: Item[]; activeValue: Item[]; activeId: number; open: boolean; isLoading?: boolean; loadingStage?: number; prevProps: ICascaderProps; } export declare class Cascader extends PureComponent, ICascaderState> { static defaultProps: { className: string; popClassName: string; onChange: typeof noop; value: any[]; options: any[]; placeholder: string; changeOnSelect: boolean; title: any[]; type: string; expandTrigger: string; }; static contextType: React.Context; context: IDisabledContext; static getDerivedStateFromProps(nextProps: ICascaderProps, { prevProps, open }: ICascaderState): Partial>; constructor(props: any); componentDidMount(): void; recursiveNextOptions(options: Item[], id: unknown): ICascaderItem[]; onShow: () => void; onClose: () => void; onTabChange: (id: any) => void; clickHandler: CascaderHandler; expandHandler: (item: Item, stage: number, popover: Popover, willLoading: boolean, triggerType?: 'click' | 'hover') => void; getPopoverContent(i18n: II18nLocaleCascader): JSX.Element; render(): JSX.Element; } export default Cascader;