import { ComputedRef } from 'vue';
export declare function noop(): void;
export declare function resetWarned(): void;
type Warning = (valid: boolean, component: string, message?: string) => void;
declare let warning: Warning;
type BaseTypeWarning = (valid: boolean, 
/**
 * - deprecated: Some API will be removed in future but still support now.
 * - usage: Some API usage is not correct.
 * - breaking: Breaking change like API is removed.
 */
type: 'deprecated' | 'usage' | 'breaking', message?: string) => void;
type TypeWarning = BaseTypeWarning & {
    deprecated: (valid: boolean, oldProp: string, newProp: string, message?: string) => void;
};
export interface WarningContextProps {
    /**
     * @descCN 设置警告等级，设置 `false` 时会将废弃相关信息聚合为单条信息。
     * @descEN Set the warning level. When set to `false`, discard related information will be aggregated into a single message.
     */
    strict?: boolean;
}
export declare const globalWarningContextApi: import("vue").ShallowRef<WarningContextProps, WarningContextProps>;
export declare const useWarningContextProvider: (value: ComputedRef<WarningContextProps>) => void;
export declare const useWarningContextInject: () => ComputedRef<WarningContextProps>;
export declare const WarningContextProvider: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    value: {
        type: import("vue").PropType<WarningContextProps>;
        default: WarningContextProps;
    };
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}>[], {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    value: {
        type: import("vue").PropType<WarningContextProps>;
        default: WarningContextProps;
    };
}>> & Readonly<{}>, {
    value: WarningContextProps;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
/**
 * This is a hook but we not named as `useWarning`
 * since this is only used in development.
 * We should always wrap this in `if (process.env.NODE_ENV !== 'production')` condition
 */
export declare const devUseWarning: (component: string) => TypeWarning;
export default warning;
