import type { ComputedRef } from 'vue';
import type { Theme } from '../cssinjs';
import type { AliasToken, GlobalToken, MapToken, OverrideToken, SeedToken } from './interface';
export declare const defaultConfig: {
    token: SeedToken;
    hashed: boolean;
};
export interface DesignTokenContext {
    token: Partial<AliasToken>;
    theme?: Theme<SeedToken, MapToken>;
    components?: OverrideToken;
    hashed?: string | boolean;
}
export declare const globalDesignTokenApi: import("vue").ShallowRef<DesignTokenContext>;
export declare function useDesignTokenProvider(value: ComputedRef<DesignTokenContext>): void;
export declare function useDesignTokenInject(): ComputedRef<{
    token: SeedToken;
    hashed: boolean;
} | DesignTokenContext>;
export declare const DesignTokenProvider: import("vue").DefineComponent<{
    value: {
        type: import("vue").PropType<DesignTokenContext>;
        default: DesignTokenContext;
    };
}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}>[], unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    value: {
        type: import("vue").PropType<DesignTokenContext>;
        default: DesignTokenContext;
    };
}>>, {
    value: DesignTokenContext;
}, {}>;
export declare function useToken(): [
    ComputedRef<Theme<SeedToken, MapToken>>,
    ComputedRef<GlobalToken>,
    ComputedRef<string>
];
