import type { Plugin, WatchStopHandle } from 'vue';
import type { Locale, ValidateMessages } from '../locale';
import type { MaybeRef } from '../_util/type';
import { defaultPrefixCls, globalConfigForApi } from './config';
import defaultRenderEmpty from './renderEmpty';
import { defaultIconPrefixCls } from './context';
import type { ConfigProviderProps } from './context';
import type { Theme } from './type';
export type { ConfigProviderProps } from './context';
export { defaultIconPrefixCls, defaultPrefixCls, globalConfigForApi };
export * from './type';
export declare const configConsumerProps: string[];
interface GlobalConfigProviderProps {
    prefixCls?: MaybeRef<ConfigProviderProps['prefixCls']>;
    iconPrefixCls?: MaybeRef<ConfigProviderProps['iconPrefixCls']>;
    getPopupContainer?: ConfigProviderProps['getPopupContainer'];
}
declare const setGlobalConfig: (params: GlobalConfigProviderProps & {
    theme?: Theme;
}) => void;
declare const _default: {
    new (...args: any[]): {
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: {
            space?: {
                size?: number | import("./type").SizeType;
            };
            virtual?: boolean;
            dropdownMatchSelectWidth?: number | boolean;
            csp?: import("./type").CSPConfig;
            form?: {
                validateMessages?: ValidateMessages;
                requiredMark?: import("../form/Form").RequiredMark;
                colon?: boolean;
            };
            input?: {
                autocomplete?: string;
            };
            select?: {
                showSearch?: boolean;
            };
            theme?: import("./type").ThemeConfig;
            autoInsertSpaceInButton?: boolean;
            locale?: Locale;
            pageHeader?: {
                ghost?: boolean;
            };
            componentDisabled?: boolean;
            pagination?: {
                showSizeChanger?: boolean;
            };
            key?: string | number | symbol;
            ref?: import("vue").VNodeRef;
            ref_for?: boolean;
            ref_key?: string;
            onVnodeBeforeMount?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeMounted?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeBeforeUpdate?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeUpdated?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeBeforeUnmount?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeUnmounted?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            class?: unknown;
            style?: unknown;
            readonly prefixCls?: string;
            readonly direction?: "ltr" | "rtl";
            readonly renderEmpty?: typeof defaultRenderEmpty;
            readonly getTargetContainer?: () => Window | HTMLElement;
            readonly getPopupContainer?: (triggerNode?: HTMLElement) => HTMLElement;
            readonly iconPrefixCls?: string;
            readonly getPrefixCls?: (suffixCls?: string, customizePrefixCls?: string) => string;
            readonly transformCellText?: (tableProps: import("../table/interface").TransformCellTextProps) => any;
            readonly componentSize?: import("./type").SizeType;
        };
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import("vue").Slot<any>;
        }>;
        $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>;
        $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>;
        $emit: (event: string, ...args: any[]) => void;
        $el: any;
        $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
            iconPrefixCls: StringConstructor;
            getTargetContainer: {
                type: import("vue").PropType<() => Window | HTMLElement>;
            };
            getPopupContainer: {
                type: import("vue").PropType<(triggerNode?: HTMLElement) => HTMLElement>;
            };
            prefixCls: StringConstructor;
            getPrefixCls: {
                type: import("vue").PropType<(suffixCls?: string, customizePrefixCls?: string) => string>;
            };
            renderEmpty: {
                type: import("vue").PropType<typeof defaultRenderEmpty>;
            };
            transformCellText: {
                type: import("vue").PropType<(tableProps: import("../table/interface").TransformCellTextProps) => any>;
            };
            csp: {
                type: import("vue").PropType<import("./type").CSPConfig>;
                default: import("./type").CSPConfig;
            };
            input: {
                type: import("vue").PropType<{
                    autocomplete?: string;
                }>;
                default: {
                    autocomplete?: string;
                };
            };
            autoInsertSpaceInButton: {
                type: BooleanConstructor;
                default: any;
            };
            locale: {
                type: import("vue").PropType<Locale>;
                default: Locale;
            };
            pageHeader: {
                type: import("vue").PropType<{
                    ghost?: boolean;
                }>;
                default: {
                    ghost?: boolean;
                };
            };
            componentSize: {
                type: import("vue").PropType<import("./type").SizeType>;
            };
            componentDisabled: {
                type: BooleanConstructor;
                default: any;
            };
            direction: {
                type: import("vue").PropType<"ltr" | "rtl">;
            };
            space: {
                type: import("vue").PropType<{
                    size?: number | import("./type").SizeType;
                }>;
                default: {
                    size?: number | import("./type").SizeType;
                };
            };
            virtual: {
                type: BooleanConstructor;
                default: any;
            };
            dropdownMatchSelectWidth: {
                type: (BooleanConstructor | NumberConstructor)[];
                default: boolean;
            };
            form: {
                type: import("vue").PropType<{
                    validateMessages?: ValidateMessages;
                    requiredMark?: import("../form/Form").RequiredMark;
                    colon?: boolean;
                }>;
                default: {
                    validateMessages?: ValidateMessages;
                    requiredMark?: import("../form/Form").RequiredMark;
                    colon?: boolean;
                };
            };
            pagination: {
                type: import("vue").PropType<{
                    showSizeChanger?: boolean;
                }>;
                default: {
                    showSizeChanger?: boolean;
                };
            };
            theme: {
                type: import("vue").PropType<import("./type").ThemeConfig>;
                default: import("./type").ThemeConfig;
            };
            select: {
                type: import("vue").PropType<{
                    showSearch?: boolean;
                }>;
                default: {
                    showSearch?: boolean;
                };
            };
        }>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
            space: {
                size?: number | import("./type").SizeType;
            };
            virtual: boolean;
            dropdownMatchSelectWidth: number | boolean;
            csp: import("./type").CSPConfig;
            form: {
                validateMessages?: ValidateMessages;
                requiredMark?: import("../form/Form").RequiredMark;
                colon?: boolean;
            };
            input: {
                autocomplete?: string;
            };
            select: {
                showSearch?: boolean;
            };
            theme: import("./type").ThemeConfig;
            autoInsertSpaceInButton: boolean;
            locale: Locale;
            pageHeader: {
                ghost?: boolean;
            };
            componentDisabled: boolean;
            pagination: {
                showSizeChanger?: boolean;
            };
        }, {}, string, {}> & {
            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: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>, info: string) => boolean | void)[];
        };
        $forceUpdate: () => void;
        $nextTick: typeof import("vue").nextTick;
        $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean>): WatchStopHandle;
    } & Readonly<import("vue").ExtractPropTypes<{
        iconPrefixCls: StringConstructor;
        getTargetContainer: {
            type: import("vue").PropType<() => Window | HTMLElement>;
        };
        getPopupContainer: {
            type: import("vue").PropType<(triggerNode?: HTMLElement) => HTMLElement>;
        };
        prefixCls: StringConstructor;
        getPrefixCls: {
            type: import("vue").PropType<(suffixCls?: string, customizePrefixCls?: string) => string>;
        };
        renderEmpty: {
            type: import("vue").PropType<typeof defaultRenderEmpty>;
        };
        transformCellText: {
            type: import("vue").PropType<(tableProps: import("../table/interface").TransformCellTextProps) => any>;
        };
        csp: {
            type: import("vue").PropType<import("./type").CSPConfig>;
            default: import("./type").CSPConfig;
        };
        input: {
            type: import("vue").PropType<{
                autocomplete?: string;
            }>;
            default: {
                autocomplete?: string;
            };
        };
        autoInsertSpaceInButton: {
            type: BooleanConstructor;
            default: any;
        };
        locale: {
            type: import("vue").PropType<Locale>;
            default: Locale;
        };
        pageHeader: {
            type: import("vue").PropType<{
                ghost?: boolean;
            }>;
            default: {
                ghost?: boolean;
            };
        };
        componentSize: {
            type: import("vue").PropType<import("./type").SizeType>;
        };
        componentDisabled: {
            type: BooleanConstructor;
            default: any;
        };
        direction: {
            type: import("vue").PropType<"ltr" | "rtl">;
        };
        space: {
            type: import("vue").PropType<{
                size?: number | import("./type").SizeType;
            }>;
            default: {
                size?: number | import("./type").SizeType;
            };
        };
        virtual: {
            type: BooleanConstructor;
            default: any;
        };
        dropdownMatchSelectWidth: {
            type: (BooleanConstructor | NumberConstructor)[];
            default: boolean;
        };
        form: {
            type: import("vue").PropType<{
                validateMessages?: ValidateMessages;
                requiredMark?: import("../form/Form").RequiredMark;
                colon?: boolean;
            }>;
            default: {
                validateMessages?: ValidateMessages;
                requiredMark?: import("../form/Form").RequiredMark;
                colon?: boolean;
            };
        };
        pagination: {
            type: import("vue").PropType<{
                showSizeChanger?: boolean;
            }>;
            default: {
                showSizeChanger?: boolean;
            };
        };
        theme: {
            type: import("vue").PropType<import("./type").ThemeConfig>;
            default: import("./type").ThemeConfig;
        };
        select: {
            type: import("vue").PropType<{
                showSearch?: boolean;
            }>;
            default: {
                showSearch?: boolean;
            };
        };
    }>> & import("vue").ShallowUnwrapRef<() => JSX.Element> & {} & import("vue").ComponentCustomProperties & {};
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    iconPrefixCls: StringConstructor;
    getTargetContainer: {
        type: import("vue").PropType<() => Window | HTMLElement>;
    };
    getPopupContainer: {
        type: import("vue").PropType<(triggerNode?: HTMLElement) => HTMLElement>;
    };
    prefixCls: StringConstructor;
    getPrefixCls: {
        type: import("vue").PropType<(suffixCls?: string, customizePrefixCls?: string) => string>;
    };
    renderEmpty: {
        type: import("vue").PropType<typeof defaultRenderEmpty>;
    };
    transformCellText: {
        type: import("vue").PropType<(tableProps: import("../table/interface").TransformCellTextProps) => any>;
    };
    csp: {
        type: import("vue").PropType<import("./type").CSPConfig>;
        default: import("./type").CSPConfig;
    };
    input: {
        type: import("vue").PropType<{
            autocomplete?: string;
        }>;
        default: {
            autocomplete?: string;
        };
    };
    autoInsertSpaceInButton: {
        type: BooleanConstructor;
        default: any;
    };
    locale: {
        type: import("vue").PropType<Locale>;
        default: Locale;
    };
    pageHeader: {
        type: import("vue").PropType<{
            ghost?: boolean;
        }>;
        default: {
            ghost?: boolean;
        };
    };
    componentSize: {
        type: import("vue").PropType<import("./type").SizeType>;
    };
    componentDisabled: {
        type: BooleanConstructor;
        default: any;
    };
    direction: {
        type: import("vue").PropType<"ltr" | "rtl">;
    };
    space: {
        type: import("vue").PropType<{
            size?: number | import("./type").SizeType;
        }>;
        default: {
            size?: number | import("./type").SizeType;
        };
    };
    virtual: {
        type: BooleanConstructor;
        default: any;
    };
    dropdownMatchSelectWidth: {
        type: (BooleanConstructor | NumberConstructor)[];
        default: boolean;
    };
    form: {
        type: import("vue").PropType<{
            validateMessages?: ValidateMessages;
            requiredMark?: import("../form/Form").RequiredMark;
            colon?: boolean;
        }>;
        default: {
            validateMessages?: ValidateMessages;
            requiredMark?: import("../form/Form").RequiredMark;
            colon?: boolean;
        };
    };
    pagination: {
        type: import("vue").PropType<{
            showSizeChanger?: boolean;
        }>;
        default: {
            showSizeChanger?: boolean;
        };
    };
    theme: {
        type: import("vue").PropType<import("./type").ThemeConfig>;
        default: import("./type").ThemeConfig;
    };
    select: {
        type: import("vue").PropType<{
            showSearch?: boolean;
        }>;
        default: {
            showSearch?: boolean;
        };
    };
}>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
    space: {
        size?: number | import("./type").SizeType;
    };
    virtual: boolean;
    dropdownMatchSelectWidth: number | boolean;
    csp: import("./type").CSPConfig;
    form: {
        validateMessages?: ValidateMessages;
        requiredMark?: import("../form/Form").RequiredMark;
        colon?: boolean;
    };
    input: {
        autocomplete?: string;
    };
    select: {
        showSearch?: boolean;
    };
    theme: import("./type").ThemeConfig;
    autoInsertSpaceInButton: boolean;
    locale: Locale;
    pageHeader: {
        ghost?: boolean;
    };
    componentDisabled: boolean;
    pagination: {
        showSizeChanger?: boolean;
    };
}, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Plugin & {
    readonly config: typeof setGlobalConfig;
};
export default _default;
