import { App, ComputedRef, MaybeRef } from 'vue';
export type Namespace = 'vxp';
export declare const PROVIDED_NAMESPACE = "__vxp-provided-namespace";
export declare const globalNamespace: ComputedRef<"vxp">;
/**
 * Provide a namespace config for under components.
 *
 * You only should use this method when initialize application.
 *
 * @param sourceNamespace namespace config
 * @param app the app of Vue, will use app.provide if specify
 */
export declare function configNamespace<N extends string = Namespace>(sourceNamespace: MaybeRef<N>, app?: App): void;
export declare function useNamespace<N extends string = Namespace>(): ComputedRef<N>;
/**
 * Create a name helper for BEM.
 *
 * For css vars name, the namespace is fixed to 'vxp' (not responsive).
 */
export declare function useNameHelper<B extends string, N extends string = Namespace>(block: B, namespace?: MaybeRef<N>): import('@vexip-ui/bem-helper').NBEM<B, "vxp" | N>;
export type NameHelper = ReturnType<typeof useNameHelper>;
