import type { PropType, VNode, ExtractPropTypes } from 'vue';
import type { Indexable } from 'hongluan-ui/es/utils';
import type { ExperimentalFeatures } from 'hongluan-ui/es/tokens';
import type { Language } from 'hongluan-ui/es/locale';
import type { MessageConfigContext } from 'hongluan-ui/es/components/message';
export declare const messageConfig: MessageConfigContext;
export declare const configProviderProps: {
    emptyValues: ArrayConstructor;
    valueOnClear: {
        readonly type: PropType<import("hongluan-ui/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor, BooleanConstructor, FunctionConstructor], unknown, unknown>>;
        readonly required: false;
        readonly validator: (val: unknown) => boolean;
        __epPropKey: true;
    };
    /**
     * @description Controlling if the users want a11y features
     */
    a11y: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * @description Locale Object
     */
    locale: {
        type: PropType<Language>;
    };
    /**
     * @description global component size
     */
    size: {
        type: PropType<"xxxs" | "xxs" | "xs" | "sm" | "md" | "lg" | "xl" | "xxl" | "xxxl">;
        validator: (val: string) => boolean;
    };
    /**
     * @description global Initial zIndex
     */
    zIndex: NumberConstructor;
    touchmoveForbid: {
        type: BooleanConstructor;
        default: boolean;
    };
    systemIcons: {
        type: PropType<Indexable<VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>>>;
        value: () => {};
    };
    /**
     * @description features at experimental stage to be added, all features are default to be set to false                                                                                | ^[object]
     */
    experimentalFeatures: {
        type: PropType<ExperimentalFeatures>;
    };
    /**
     * @description Controls if we should handle keyboard navigation
     */
    keyboardNavigation: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * @description message related configuration, [see the following table](#message-attributes)
     */
    message: {
        type: PropType<MessageConfigContext>;
    };
    /**
     * @description global component className prefix (cooperated with [$namespace](https://github.com/element-plus/element-plus/blob/dev/packages/theme-chalk/src/mixins/config.scss#L1)) | ^[string]
     */
    namespace: {
        type: StringConstructor;
        default: string;
    };
};
export declare type ConfigProviderProps = ExtractPropTypes<typeof configProviderProps>;
declare const ConfigProvider: import("vue").DefineComponent<{
    emptyValues: ArrayConstructor;
    valueOnClear: {
        readonly type: PropType<import("hongluan-ui/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor, BooleanConstructor, FunctionConstructor], unknown, unknown>>;
        readonly required: false;
        readonly validator: (val: unknown) => boolean;
        __epPropKey: true;
    };
    /**
     * @description Controlling if the users want a11y features
     */
    a11y: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * @description Locale Object
     */
    locale: {
        type: PropType<Language>;
    };
    /**
     * @description global component size
     */
    size: {
        type: PropType<"xxxs" | "xxs" | "xs" | "sm" | "md" | "lg" | "xl" | "xxl" | "xxxl">;
        validator: (val: string) => boolean;
    };
    /**
     * @description global Initial zIndex
     */
    zIndex: NumberConstructor;
    touchmoveForbid: {
        type: BooleanConstructor;
        default: boolean;
    };
    systemIcons: {
        type: PropType<Indexable<VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>>>;
        value: () => {};
    };
    /**
     * @description features at experimental stage to be added, all features are default to be set to false                                                                                | ^[object]
     */
    experimentalFeatures: {
        type: PropType<ExperimentalFeatures>;
    };
    /**
     * @description Controls if we should handle keyboard navigation
     */
    keyboardNavigation: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * @description message related configuration, [see the following table](#message-attributes)
     */
    message: {
        type: PropType<MessageConfigContext>;
    };
    /**
     * @description global component className prefix (cooperated with [$namespace](https://github.com/element-plus/element-plus/blob/dev/packages/theme-chalk/src/mixins/config.scss#L1)) | ^[string]
     */
    namespace: {
        type: StringConstructor;
        default: string;
    };
}, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}>, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
    emptyValues: ArrayConstructor;
    valueOnClear: {
        readonly type: PropType<import("hongluan-ui/es/utils").EpPropMergeType<readonly [StringConstructor, NumberConstructor, BooleanConstructor, FunctionConstructor], unknown, unknown>>;
        readonly required: false;
        readonly validator: (val: unknown) => boolean;
        __epPropKey: true;
    };
    /**
     * @description Controlling if the users want a11y features
     */
    a11y: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * @description Locale Object
     */
    locale: {
        type: PropType<Language>;
    };
    /**
     * @description global component size
     */
    size: {
        type: PropType<"xxxs" | "xxs" | "xs" | "sm" | "md" | "lg" | "xl" | "xxl" | "xxxl">;
        validator: (val: string) => boolean;
    };
    /**
     * @description global Initial zIndex
     */
    zIndex: NumberConstructor;
    touchmoveForbid: {
        type: BooleanConstructor;
        default: boolean;
    };
    systemIcons: {
        type: PropType<Indexable<VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>>>;
        value: () => {};
    };
    /**
     * @description features at experimental stage to be added, all features are default to be set to false                                                                                | ^[object]
     */
    experimentalFeatures: {
        type: PropType<ExperimentalFeatures>;
    };
    /**
     * @description Controls if we should handle keyboard navigation
     */
    keyboardNavigation: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * @description message related configuration, [see the following table](#message-attributes)
     */
    message: {
        type: PropType<MessageConfigContext>;
    };
    /**
     * @description global component className prefix (cooperated with [$namespace](https://github.com/element-plus/element-plus/blob/dev/packages/theme-chalk/src/mixins/config.scss#L1)) | ^[string]
     */
    namespace: {
        type: StringConstructor;
        default: string;
    };
}>>, {
    a11y: boolean;
    touchmoveForbid: boolean;
    keyboardNavigation: boolean;
    namespace: string;
}>;
export declare type ConfigProviderInstance = InstanceType<typeof ConfigProvider>;
export default ConfigProvider;
