import { DefaultOptionType } from '@aplus-frontend/antdv/es/cascader/interface';
import { ApFormItemSlots } from '../../interface';
import { ApFormItemCascaderProps } from '../interface';
import { ComponentInternalInstance, VNode, CSSProperties, VNodeProps, AllowedComponentProps, ComponentCustomProps, Attrs, Slot, ComponentPublicInstance, ComponentOptionsBase, ComponentOptionsMixin, GlobalComponents, GlobalDirectives, ComponentProvideOptions, DebuggerEvent, nextTick, WatchOptions, WatchStopHandle, ComponentCustomProperties, DefineComponent, PublicProps } from 'vue';
import { FieldMode, ApFieldCascaderProps } from '../../../ap-field';
import { ButtonSize } from '@aplus-frontend/antdv/es/button';
import { ValueType, ShowCheckedStrategy } from '@aplus-frontend/antdv/es/vc-cascader/Cascader';
import { VueNode } from '@aplus-frontend/antdv/es/_util/type';
import { RenderDOMFunc, CustomTagProps, DropdownRender, Placement } from '@aplus-frontend/antdv/es/vc-select/BaseSelect';
import { FieldNames, ShowSearchType } from '@aplus-frontend/antdv/es/vc-cascader';
import { CascaderOptionType } from '@aplus-frontend/antdv/es/cascader';
import { AlignType } from '@aplus-frontend/antdv/es/vc-trigger/interface';
import { DefaultOptionType } from '@aplus-frontend/antdv/es/select';
import { Recordable } from '../../../type';
import { CascaderProps } from '@aplus-frontend/antdv';
import { OnCleanup } from '@vue/reactivity';
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: Readonly<{
        displayRender?: any;
        notFoundContent?: any;
        expandIcon?: any;
        suffixIcon?: any;
        clearIcon?: any;
        menuItemSelectedIcon?: any;
        tagRender?: any;
        maxTagPlaceholder?: any;
        default?: any;
        optionRender?: any;
    } & Omit<ApFormItemSlots, "default">> & {
        displayRender?: any;
        notFoundContent?: any;
        expandIcon?: any;
        suffixIcon?: any;
        clearIcon?: any;
        menuItemSelectedIcon?: any;
        tagRender?: any;
        maxTagPlaceholder?: any;
        default?: any;
        optionRender?: any;
    } & Omit<ApFormItemSlots, "default">;
    refs: {
        cascaderRef: ({
            $: ComponentInternalInstance;
            $data: {};
            $props: {
                readonly mode?: FieldMode | undefined;
                readonly class?: unknown;
                readonly style?: unknown;
                readonly emptyText?: string | undefined;
                readonly customReadMode?: ((originalNode: any, val?: any) => VNode) | undefined;
                readonly size?: ButtonSize;
                readonly onBlur?: ((e: FocusEvent) => void) | undefined;
                readonly onChange?: ((value: ValueType, selectOptions: DefaultOptionType[] | DefaultOptionType[][]) => void) | undefined;
                readonly onClick?: ((e: MouseEvent) => void) | undefined;
                readonly onFocus?: ((e: FocusEvent) => void) | undefined;
                readonly onKeydown?: ((e: KeyboardEvent) => void) | undefined;
                readonly onKeyup?: ((e: KeyboardEvent) => void) | undefined;
                readonly onMousedown?: ((e: MouseEvent) => void) | undefined;
                readonly onMouseenter?: ((e: MouseEvent) => void) | undefined;
                readonly onMouseleave?: ((e: MouseEvent) => void) | undefined;
                readonly placement?: "topLeft" | "bottomLeft" | "bottomRight" | "topRight" | undefined;
                readonly value?: ValueType | undefined;
                readonly open?: boolean | undefined;
                readonly multiple?: boolean | undefined;
                readonly disabled?: boolean | undefined;
                readonly direction?: "ltr" | "rtl" | undefined;
                readonly animation?: string | undefined;
                readonly children?: VueNode[] | undefined;
                readonly placeholder?: any;
                readonly id?: string | undefined;
                readonly getPopupContainer?: RenderDOMFunc | undefined;
                readonly prefixCls?: string | undefined;
                readonly variant?: "filled" | "outlined" | "borderless" | "underlined" | undefined;
                readonly dropdownMatchSelectWidth?: number | boolean | undefined;
                readonly autofocus?: boolean | undefined;
                readonly loading?: boolean | undefined;
                readonly bordered?: boolean | undefined;
                readonly 'onUpdate:value'?: (((value: ValueType) => void) & ((...args: any[]) => any)) | undefined;
                readonly status?: "" | "error" | "warning" | undefined;
                readonly defaultValue?: ValueType | undefined;
                readonly prefix?: any;
                readonly clearIcon?: any;
                readonly allowClear?: boolean | undefined;
                readonly notFoundContent?: any;
                readonly suffixIcon?: any;
                readonly maxCount?: number | undefined;
                readonly transitionName?: string | undefined;
                readonly choiceTransitionName?: string | undefined;
                readonly popupClassName?: string | undefined;
                readonly dropdownClassName?: string | undefined;
                readonly tabindex?: number | undefined;
                readonly fieldNames?: FieldNames | undefined;
                readonly searchValue?: string | undefined;
                readonly onSearch?: ((value: string) => void) | undefined;
                readonly options?: CascaderOptionType[] | undefined;
                readonly showSearch?: boolean | ShowSearchType<DefaultOptionType> | undefined;
                readonly tagRender?: ((props: CustomTagProps) => any) | undefined;
                readonly optionLabelRender?: ((option: Record<string, any>) => any) | undefined;
                readonly onClear?: (() => void) | undefined;
                readonly defaultOpen?: boolean | undefined;
                readonly onDropdownVisibleChange?: ((open: boolean) => void) | undefined;
                readonly maxTagTextLength?: number | undefined;
                readonly maxTagCount?: number | "responsive" | undefined;
                readonly maxTagPlaceholder?: any;
                readonly removeIcon?: any;
                readonly dropdownStyle?: CSSProperties | undefined;
                readonly dropdownRender?: DropdownRender | undefined;
                readonly dropdownAlign?: AlignType | undefined;
                readonly showAction?: ("click" | "focus")[] | undefined;
                readonly onPopupScroll?: ((e: UIEvent) => void) | undefined;
                readonly onInputKeyDown?: ((e: KeyboardEvent) => void) | undefined;
                readonly expandIcon?: any;
                readonly getInputElement?: (() => any) | undefined;
                readonly getRawInputElement?: (() => any) | undefined;
                readonly onPopupVisibleChange?: ((open: boolean) => void) | undefined;
                readonly popupStyle?: CSSProperties | undefined;
                readonly popupPlacement?: Placement | undefined;
                readonly popupVisible?: boolean | undefined;
                readonly changeOnSelect?: boolean | undefined;
                readonly displayRender?: ((opt: {
                    labels: string[];
                    selectedOptions?: DefaultOptionType[];
                }) => any) | undefined;
                readonly showCheckedStrategy?: ShowCheckedStrategy | undefined;
                readonly expandTrigger?: "click" | "hover" | undefined;
                readonly dropdownPrefixCls?: string | undefined;
                readonly dropdownMenuColumnStyle?: CSSProperties | undefined;
                readonly loadingIcon?: any;
                readonly request?: ((selectOptions?: DefaultOptionType[], extraParams?: Recordable) => Promise< CascaderProps["options"]>) | undefined;
                readonly lazy?: boolean | undefined;
                readonly params?: Recordable | undefined;
                readonly loadData?: boolean | undefined;
            } & VNodeProps & AllowedComponentProps & ComponentCustomProps;
            $attrs: Attrs;
            $refs: {
                [x: string]: unknown;
            };
            $slots: Readonly<{
                [name: string]: Slot<any> | undefined;
            }>;
            $root: ComponentPublicInstance | null;
            $parent: ComponentPublicInstance | null;
            $host: Element | null;
            $emit: (event: "update:value", ...args: any[]) => void;
            $el: any;
            $options: ComponentOptionsBase<Readonly< ApFieldCascaderProps> & Readonly<{
                "onUpdate:value"?: ((...args: any[]) => any) | undefined;
            }>, {
                blur: () => void;
                focus: () => void;
                request: (selectOptions?: DefaultOptionType[] | undefined, clear?: boolean) => Promise<void>;
            }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
                "update:value": (...args: any[]) => void;
            }, string, {
                mode: FieldMode;
                open: boolean;
                multiple: boolean;
                bordered: boolean;
                allowClear: boolean;
                showSearch: boolean | ShowSearchType<DefaultOptionType>;
                defaultOpen: boolean;
                emptyText: string;
                popupVisible: boolean;
            }, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & {
                beforeCreate?: (() => void) | (() => void)[];
                created?: (() => void) | (() => void)[];
                beforeMount?: (() => void) | (() => void)[];
                mounted?: (() => void) | (() => void)[];
                beforeUpdate?: (() => void) | (() => void)[];
                updated?: (() => void) | (() => void)[];
                activated?: (() => void) | (() => void)[];
                deactivated?: (() => void) | (() => void)[];
                beforeDestroy?: (() => void) | (() => void)[];
                beforeUnmount?: (() => void) | (() => void)[];
                destroyed?: (() => void) | (() => void)[];
                unmounted?: (() => void) | (() => void)[];
                renderTracked?: ((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[];
                renderTriggered?: ((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[];
                errorCaptured?: ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void)[];
            };
            $forceUpdate: () => void;
            $nextTick: nextTick;
            $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, OnCleanup]) => any : (...args: [any, any, OnCleanup]) => any, options?: WatchOptions): WatchStopHandle;
        } & Readonly<{
            mode: FieldMode;
            open: boolean;
            multiple: boolean;
            bordered: boolean;
            allowClear: boolean;
            showSearch: boolean | ShowSearchType<DefaultOptionType>;
            defaultOpen: boolean;
            emptyText: string;
            popupVisible: boolean;
        }> & Omit<Readonly< ApFieldCascaderProps> & Readonly<{
            "onUpdate:value"?: ((...args: any[]) => any) | undefined;
        }>, "blur" | "focus" | "request" | ("mode" | "open" | "multiple" | "bordered" | "allowClear" | "showSearch" | "defaultOpen" | "emptyText" | "popupVisible")> & {
            blur: () => void;
            focus: () => void;
            request: (selectOptions?: DefaultOptionType[] | undefined, clear?: boolean) => Promise<void>;
        } & {} & ComponentCustomProperties & {} & {
            $slots: Readonly<{
                displayRender?: any;
                notFoundContent?: any;
                expandIcon?: any;
                suffixIcon?: any;
                clearIcon?: any;
                menuItemSelectedIcon?: any;
                tagRender?: any;
                maxTagPlaceholder?: any;
                default?: any;
                optionRender?: any;
            }> & {
                displayRender?: any;
                notFoundContent?: any;
                expandIcon?: any;
                suffixIcon?: any;
                clearIcon?: any;
                menuItemSelectedIcon?: any;
                tagRender?: any;
                maxTagPlaceholder?: any;
                default?: any;
                optionRender?: any;
            };
        }) | null;
    };
    rootEl: any;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: DefineComponent<ApFormItemCascaderProps, {
    focus: () => void;
    blur: () => void;
    request: (selectOptions?: DefaultOptionType[], clear?: boolean) => void;
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ApFormItemCascaderProps> & Readonly<{}>, {
    disabled: boolean;
    required: boolean;
    colon: boolean;
    hasFeedback: boolean;
    autoLink: boolean;
    validateFirst: boolean;
    field: Omit< ApFieldCascaderProps, "value" | "onUpdate:value">;
}, {}, {}, {}, string, ComponentProvideOptions, false, {
    cascaderRef: ({
        $: ComponentInternalInstance;
        $data: {};
        $props: {
            readonly mode?: FieldMode | undefined;
            readonly class?: unknown;
            readonly style?: unknown;
            readonly emptyText?: string | undefined;
            readonly customReadMode?: ((originalNode: any, val?: any) => VNode) | undefined;
            readonly size?: ButtonSize;
            readonly onBlur?: ((e: FocusEvent) => void) | undefined;
            readonly onChange?: ((value: ValueType, selectOptions: DefaultOptionType[] | DefaultOptionType[][]) => void) | undefined;
            readonly onClick?: ((e: MouseEvent) => void) | undefined;
            readonly onFocus?: ((e: FocusEvent) => void) | undefined;
            readonly onKeydown?: ((e: KeyboardEvent) => void) | undefined;
            readonly onKeyup?: ((e: KeyboardEvent) => void) | undefined;
            readonly onMousedown?: ((e: MouseEvent) => void) | undefined;
            readonly onMouseenter?: ((e: MouseEvent) => void) | undefined;
            readonly onMouseleave?: ((e: MouseEvent) => void) | undefined;
            readonly placement?: "topLeft" | "bottomLeft" | "bottomRight" | "topRight" | undefined;
            readonly value?: ValueType | undefined;
            readonly open?: boolean | undefined;
            readonly multiple?: boolean | undefined;
            readonly disabled?: boolean | undefined;
            readonly direction?: "ltr" | "rtl" | undefined;
            readonly animation?: string | undefined;
            readonly children?: VueNode[] | undefined;
            readonly placeholder?: any;
            readonly id?: string | undefined;
            readonly getPopupContainer?: RenderDOMFunc | undefined;
            readonly prefixCls?: string | undefined;
            readonly variant?: "filled" | "outlined" | "borderless" | "underlined" | undefined;
            readonly dropdownMatchSelectWidth?: number | boolean | undefined;
            readonly autofocus?: boolean | undefined;
            readonly loading?: boolean | undefined;
            readonly bordered?: boolean | undefined;
            readonly 'onUpdate:value'?: (((value: ValueType) => void) & ((...args: any[]) => any)) | undefined;
            readonly status?: "" | "error" | "warning" | undefined;
            readonly defaultValue?: ValueType | undefined;
            readonly prefix?: any;
            readonly clearIcon?: any;
            readonly allowClear?: boolean | undefined;
            readonly notFoundContent?: any;
            readonly suffixIcon?: any;
            readonly maxCount?: number | undefined;
            readonly transitionName?: string | undefined;
            readonly choiceTransitionName?: string | undefined;
            readonly popupClassName?: string | undefined;
            readonly dropdownClassName?: string | undefined;
            readonly tabindex?: number | undefined;
            readonly fieldNames?: FieldNames | undefined;
            readonly searchValue?: string | undefined;
            readonly onSearch?: ((value: string) => void) | undefined;
            readonly options?: CascaderOptionType[] | undefined;
            readonly showSearch?: boolean | ShowSearchType<DefaultOptionType> | undefined;
            readonly tagRender?: ((props: CustomTagProps) => any) | undefined;
            readonly optionLabelRender?: ((option: Record<string, any>) => any) | undefined;
            readonly onClear?: (() => void) | undefined;
            readonly defaultOpen?: boolean | undefined;
            readonly onDropdownVisibleChange?: ((open: boolean) => void) | undefined;
            readonly maxTagTextLength?: number | undefined;
            readonly maxTagCount?: number | "responsive" | undefined;
            readonly maxTagPlaceholder?: any;
            readonly removeIcon?: any;
            readonly dropdownStyle?: CSSProperties | undefined;
            readonly dropdownRender?: DropdownRender | undefined;
            readonly dropdownAlign?: AlignType | undefined;
            readonly showAction?: ("click" | "focus")[] | undefined;
            readonly onPopupScroll?: ((e: UIEvent) => void) | undefined;
            readonly onInputKeyDown?: ((e: KeyboardEvent) => void) | undefined;
            readonly expandIcon?: any;
            readonly getInputElement?: (() => any) | undefined;
            readonly getRawInputElement?: (() => any) | undefined;
            readonly onPopupVisibleChange?: ((open: boolean) => void) | undefined;
            readonly popupStyle?: CSSProperties | undefined;
            readonly popupPlacement?: Placement | undefined;
            readonly popupVisible?: boolean | undefined;
            readonly changeOnSelect?: boolean | undefined;
            readonly displayRender?: ((opt: {
                labels: string[];
                selectedOptions?: DefaultOptionType[];
            }) => any) | undefined;
            readonly showCheckedStrategy?: ShowCheckedStrategy | undefined;
            readonly expandTrigger?: "click" | "hover" | undefined;
            readonly dropdownPrefixCls?: string | undefined;
            readonly dropdownMenuColumnStyle?: CSSProperties | undefined;
            readonly loadingIcon?: any;
            readonly request?: ((selectOptions?: DefaultOptionType[], extraParams?: Recordable) => Promise< CascaderProps["options"]>) | undefined;
            readonly lazy?: boolean | undefined;
            readonly params?: Recordable | undefined;
            readonly loadData?: boolean | undefined;
        } & VNodeProps & AllowedComponentProps & ComponentCustomProps;
        $attrs: Attrs;
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: Slot<any> | undefined;
        }>;
        $root: ComponentPublicInstance | null;
        $parent: ComponentPublicInstance | null;
        $host: Element | null;
        $emit: (event: "update:value", ...args: any[]) => void;
        $el: any;
        $options: ComponentOptionsBase<Readonly< ApFieldCascaderProps> & Readonly<{
            "onUpdate:value"?: ((...args: any[]) => any) | undefined;
        }>, {
            blur: () => void;
            focus: () => void;
            request: (selectOptions?: DefaultOptionType[] | undefined, clear?: boolean) => Promise<void>;
        }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
            "update:value": (...args: any[]) => void;
        }, string, {
            mode: FieldMode;
            open: boolean;
            multiple: boolean;
            bordered: boolean;
            allowClear: boolean;
            showSearch: boolean | ShowSearchType<DefaultOptionType>;
            defaultOpen: boolean;
            emptyText: string;
            popupVisible: boolean;
        }, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & {
            beforeCreate?: (() => void) | (() => void)[];
            created?: (() => void) | (() => void)[];
            beforeMount?: (() => void) | (() => void)[];
            mounted?: (() => void) | (() => void)[];
            beforeUpdate?: (() => void) | (() => void)[];
            updated?: (() => void) | (() => void)[];
            activated?: (() => void) | (() => void)[];
            deactivated?: (() => void) | (() => void)[];
            beforeDestroy?: (() => void) | (() => void)[];
            beforeUnmount?: (() => void) | (() => void)[];
            destroyed?: (() => void) | (() => void)[];
            unmounted?: (() => void) | (() => void)[];
            renderTracked?: ((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[];
            renderTriggered?: ((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[];
            errorCaptured?: ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void)[];
        };
        $forceUpdate: () => void;
        $nextTick: nextTick;
        $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, OnCleanup]) => any : (...args: [any, any, OnCleanup]) => any, options?: WatchOptions): WatchStopHandle;
    } & Readonly<{
        mode: FieldMode;
        open: boolean;
        multiple: boolean;
        bordered: boolean;
        allowClear: boolean;
        showSearch: boolean | ShowSearchType<DefaultOptionType>;
        defaultOpen: boolean;
        emptyText: string;
        popupVisible: boolean;
    }> & Omit<Readonly< ApFieldCascaderProps> & Readonly<{
        "onUpdate:value"?: ((...args: any[]) => any) | undefined;
    }>, "blur" | "focus" | "request" | ("mode" | "open" | "multiple" | "bordered" | "allowClear" | "showSearch" | "defaultOpen" | "emptyText" | "popupVisible")> & {
        blur: () => void;
        focus: () => void;
        request: (selectOptions?: DefaultOptionType[] | undefined, clear?: boolean) => Promise<void>;
    } & {} & ComponentCustomProperties & {} & {
        $slots: Readonly<{
            displayRender?: any;
            notFoundContent?: any;
            expandIcon?: any;
            suffixIcon?: any;
            clearIcon?: any;
            menuItemSelectedIcon?: any;
            tagRender?: any;
            maxTagPlaceholder?: any;
            default?: any;
            optionRender?: any;
        }> & {
            displayRender?: any;
            notFoundContent?: any;
            expandIcon?: any;
            suffixIcon?: any;
            clearIcon?: any;
            menuItemSelectedIcon?: any;
            tagRender?: any;
            maxTagPlaceholder?: any;
            default?: any;
            optionRender?: any;
        };
    }) | null;
}, any>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
