import { ExtractPropTypes, PropType } from 'vue';
import { PopupPositionT, PopupTriggerT } from '../popup';
import { RoundT, VariantT, SizeT } from '../_utils/types';
export type CascaderNodeValueT = string | number;
export type CascaderNodePathT = Array<CascaderNodeValueT>;
export type CascaderValueT = CascaderNodeValueT | CascaderNodePathT;
export type CascaderOptionT = {
    value: CascaderNodeValueT;
    label?: string;
    children?: CascaderOptionT[];
    disabled?: boolean;
    leaf?: boolean;
};
export declare const cascaderProps: {
    /**
     * @zh-CN 级联选择器选中值(v-model)
     * @en-US Cascader selected value (v-model)
     * @CascaderValueT string | number | Array<string | number>
     */
    modelValue: {
        type: PropType<CascaderValueT>;
        default: string;
    };
    /**
     * @zh-CN 级联选择器选项值
     * @en-US Cascader option value
     * @CascaderOptionT { value: string | number, label?: string, children?: Array<CascaderOptionT> }
     */
    options: {
        type: PropType<Array<CascaderOptionT>>;
    };
    /**
     * @zh-CN modelValue 是否使用路径模式
     * @en-US Whether to use path mode for modelValue
     * @default false
     */
    pathMode: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * @zh-CN 圆角大小
     * @en-US Round size
     */
    round: {
        type: PropType<RoundT>;
    };
    /**
     * @zh-CN 样式
     * @en-US Style
     * @default 'outline'
     */
    variant: {
        type: PropType<VariantT>;
        default: string;
    };
    /**
     * @zh-CN 提示文本
     * @en-US Placeholder
     */
    placeholder: {
        type: StringConstructor;
    };
    /**
     * @zh-CN 弹出级联菜单的触发方式
     * @en-US Trigger method for cascading menu popup
     * @default 'click'
     */
    trigger: {
        type: PropType<PopupTriggerT>;
        default: string;
    };
    /**
     * @zh-CN 下拉选项位置
     * @en-US Option position
     * @default 'bl'
     */
    optionPosition: {
        type: PropType<PopupPositionT>;
        default: string;
    };
    /**
     * @zh-CN 下拉选项容器类名
     * @en-US Option container class name
     */
    optionWrapClass: {
        type: PropType<string | {
            [k: string]: boolean;
        } | Array<{
            [k: string]: boolean;
        } | string>>;
    };
    /**
     * @zh-CN 是否在隐藏时销毁 DOM
     * @en-US Whether to destroy DOM when hidden
     */
    unmountOnHide: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * @zh-CN 过渡动画名称
     * @en-US Transition animation name
     */
    transition: {
        type: StringConstructor;
    };
    /**
     * @zh-CN 展开菜单选项的触发方式
     * @en-US Trigger method to expand menu options
     */
    expandTrigger: {
        type: PropType<"click" | "hover">;
        default: string;
    };
    /**
     * @zh-CN 选择器尺寸
     * @en-US Select size
     * @default 'large'
     */
    size: {
        type: PropType<SizeT>;
        default: string;
    };
};
export declare const cascaderPanelProps: {
    /**
     * @zh-CN 级联选择器选中值(v-model)
     * @en-US Cascader selected value (v-model)
     */
    modelValue: {
        type: PropType<CascaderValueT>;
        default: string;
    };
    /**
     * @zh-CN 级联选择器选项值
     * @en-US Cascader option value
     */
    options: {
        type: PropType<Array<CascaderOptionT>>;
    };
    /**
     * @zh-CN modelValue 是否使用路径模式
     * @en-US Whether to use path mode for modelValue
     * @default false
     */
    pathMode: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * @zh-CN 展开菜单选项的触发方式
     * @en-US Trigger method to expand menu options
     */
    expandTrigger: {
        type: PropType<"click" | "hover">;
        default: string;
    };
};
export type CascaderPropsT = ExtractPropTypes<typeof cascaderProps>;
