import { OverlayProps } from '../overlay';
import { TNode, TreeOptionData, TreeKeysType } from '../common';
export interface TdCascaderProps<CascaderOption extends TreeOptionData = TreeOptionData> {
    checkStrictly?: boolean;
    closeBtn?: boolean | TNode;
    header?: TNode;
    keys?: CascaderKeysType;
    load?: (node: CascaderOption) => Promise<Array<CascaderOption>>;
    middleContent?: TNode;
    options?: Array<CascaderOption>;
    overlayProps?: OverlayProps;
    placeholder?: string | TNode;
    subTitles?: Array<string>;
    theme?: 'step' | 'tab';
    title?: string | TNode;
    value?: string | number;
    defaultValue?: string | number;
    modelValue?: string | number;
    visible?: boolean;
    onChange?: (value: string | number, selectedOptions: CascaderOption[]) => void;
    onClose?: (trigger: CascaderTriggerSource) => void;
    onPick?: (context: {
        value: string | number;
        label: string;
        index: number;
        level: number;
    }) => void;
}
export type CascaderKeysType = TreeKeysType;
export type CascaderTriggerSource = 'overlay' | 'close-btn' | 'finish';
