import { LocaledComponentProps } from '../locale';
import { BaseComponentAttributes, BaseFieldPreviewProps, BasicSizeType } from '../utils/types';
import { PickerColumnData } from '../picker';
import { ReactNode, ReactNodeArray } from 'react';
export interface LocaleType {
    rootTipText?: string;
}
export interface CascaderSelectItem extends PickerColumnData {
    label: string;
    value: any;
    disabled?: boolean;
    children?: CascaderSelectItem[];
}
export interface ExtraCallbackProps {
    selectedPath: CascaderSelectItem[];
}
export interface CascaderSelectProps extends BaseComponentAttributes, LocaledComponentProps<LocaleType>, BaseFieldPreviewProps {
    drawerClassName?: string;
    type?: 'normal' | 'inverse';
    align?: 'left' | 'right';
    mode?: 'mini' | 'normal';
    size?: BasicSizeType;
    dataSource: CascaderSelectItem[];
    disabled?: boolean;
    readOnly?: boolean;
    hasClear?: boolean;
    disableScroll?: boolean;
    useSimpleValue?: boolean;
    loadData?: (item?: any) => Promise<any>;
    defaultValue?: any[];
    value?: any[];
    placeholder?: string;
    separator?: string;
    rootTipText?: string | ReactNode;
    zIndex?: number;
    onSelect?: (val?: any, item?: any) => void;
    onClear?: () => void;
    onCancel?: (reason?: string) => void;
    onChange?: (value?: any, data?: CascaderSelectItem | CascaderSelectItem[], extra?: ExtraCallbackProps) => void;
    renderContent?: (value?: any, separator?: string) => ReactNode | ReactNodeArray;
}
