import type { ExtractPropTypes, PropType } from 'vue';
import type { ValueType } from '@antdv/ui/es/vue-components/vc-cascader/src/Cascader';
import type { InputStatus, SizeType } from '@antdv/ui/es/types';
import type { CascaderOptionType } from './interface';
export declare function cascaderProps<DataNodeType extends CascaderOptionType = CascaderOptionType>(): {
    multiple: {
        type: BooleanConstructor;
        default: any;
    };
    size: PropType<SizeType>;
    bordered: {
        type: BooleanConstructor;
        default: any;
    };
    placement: {
        type: PropType<"bottomLeft" | "bottomRight" | "topLeft" | "topRight">;
    };
    suffixIcon: any;
    status: PropType<InputStatus>;
    options: PropType<DataNodeType[]>;
    popupClassName: StringConstructor;
    /** @deprecated Please use `popupClassName` instead */
    dropdownClassName: StringConstructor;
    'onUpdate:value': PropType<(value: ValueType) => void>;
    value: {
        type: PropType<ValueType>;
    };
    disabled: {
        type: BooleanConstructor;
        default: any;
    };
    placeholder: any;
    notFoundContent: any;
    id: StringConstructor;
    open: {
        type: BooleanConstructor;
        default: any;
    };
    direction: {
        type: PropType<"ltr" | "rtl">;
    };
    animation: StringConstructor;
    defaultValue: {
        type: PropType<ValueType>;
    };
    prefixCls: StringConstructor;
    onChange: PropType<(value: ValueType, selectOptions: import("@antdv/ui/es/vue-components/vc-cascader/src/Cascader").DefaultOptionType[] | import("@antdv/ui/es/vue-components/vc-cascader/src/Cascader").DefaultOptionType[][]) => void>;
    onClick: PropType<(e: MouseEvent) => void>;
    inputIcon: any;
    getInputElement: {
        type: PropType<() => any>;
    };
    getRawInputElement: {
        type: PropType<() => any>;
    };
    fieldNames: {
        type: PropType<import("@antdv/ui/es/vue-components/vc-cascader/src/Cascader").FieldNames>;
        default: import("@antdv/ui/es/vue-components/vc-cascader/src/Cascader").FieldNames;
    };
    searchValue: StringConstructor;
    onSearch: PropType<(value: string) => void>;
    children: PropType<import("@antdv/ui/es/types").VueNode[]>;
    showSearch: {
        type: PropType<boolean | import("@antdv/ui/es/vue-components/vc-cascader/src/Cascader").ShowSearchType<import("@antdv/ui/es/vue-components/vc-cascader/src/Cascader").DefaultOptionType>>;
        default: boolean | import("@antdv/ui/es/vue-components/vc-cascader/src/Cascader").ShowSearchType<import("@antdv/ui/es/vue-components/vc-cascader/src/Cascader").DefaultOptionType>;
    };
    tagRender: {
        type: PropType<(props: import("../../../vue-components/vc-select/src/BaseSelect").CustomTagProps) => any>;
    };
    optionLabelRender: {
        type: PropType<(option: Record<string, any>) => any>;
    };
    tabindex: NumberConstructor;
    autofocus: BooleanConstructor;
    onClear: PropType<() => void>;
    choiceTransitionName: StringConstructor;
    loading: {
        type: BooleanConstructor;
        default: any;
    };
    defaultOpen: {
        type: BooleanConstructor;
        default: any;
    };
    onDropdownVisibleChange: PropType<(open: boolean) => void>;
    maxTagTextLength: NumberConstructor;
    maxTagCount: {
        type: PropType<number | "responsive">;
    };
    maxTagPlaceholder: any;
    allowClear: {
        type: BooleanConstructor;
        default: any;
    };
    showArrow: {
        type: BooleanConstructor;
        default: any;
    };
    clearIcon: any;
    removeIcon: any;
    transitionName: StringConstructor;
    dropdownStyle: {
        type: PropType<import("vue").CSSProperties>;
        default: import("vue").CSSProperties;
    };
    dropdownMatchSelectWidth: {
        type: PropType<number | boolean>;
        default: any;
    };
    dropdownRender: {
        type: PropType<import("../../../vue-components/vc-select/src/BaseSelect").DropdownRender>;
    };
    dropdownAlign: PropType<import("../../../vue-components/vc-trigger/src/interface").AlignType>;
    getPopupContainer: {
        type: PropType<import("../../../vue-components/vc-select/src/BaseSelect").RenderDOMFunc>;
    };
    showAction: {
        type: PropType<("focus" | "click")[]>;
    };
    onBlur: {
        type: PropType<(e: FocusEvent) => void>;
    };
    onFocus: {
        type: PropType<(e: FocusEvent) => void>;
    };
    onKeyup: PropType<(e: KeyboardEvent) => void>;
    onKeydown: PropType<(e: KeyboardEvent) => void>;
    onMousedown: PropType<(e: MouseEvent) => void>;
    onPopupScroll: PropType<(e: UIEvent) => void>;
    onInputKeyDown: PropType<(e: KeyboardEvent) => void>;
    onMouseenter: PropType<(e: MouseEvent) => void>;
    onMouseleave: PropType<(e: MouseEvent) => void>;
    expandIcon: any;
    changeOnSelect: {
        type: BooleanConstructor;
        default: any;
    };
    displayRender: PropType<(opt: {
        labels: string[];
        selectedOptions?: import("@antdv/ui/es/vue-components/vc-cascader/src/Cascader").DefaultOptionType[];
    }) => any>;
    showCheckedStrategy: {
        type: PropType<import("@antdv/ui/es/vue-components/vc-cascader/src/Cascader").ShowCheckedStrategy>;
        default: string;
    };
    expandTrigger: PropType<"hover" | "click">;
    dropdownPrefixCls: StringConstructor;
    loadData: PropType<(selectOptions: import("@antdv/ui/es/vue-components/vc-cascader/src/Cascader").DefaultOptionType[]) => void>;
    popupVisible: {
        type: BooleanConstructor;
        default: any;
    };
    dropdownMenuColumnStyle: {
        type: PropType<import("vue").CSSProperties>;
        default: import("vue").CSSProperties;
    };
    popupStyle: {
        type: PropType<import("vue").CSSProperties>;
        default: import("vue").CSSProperties;
    };
    popupPlacement: PropType<import("../../../vue-components/vc-select/src/BaseSelect").Placement>;
    onPopupVisibleChange: PropType<(open: boolean) => void>;
    loadingIcon: any;
};
export type CascaderProps = Partial<ExtractPropTypes<ReturnType<typeof cascaderProps>>>;
