import { ComputedRef } from 'vue'; import type { AliasToken, MapToken, OverrideToken, SeedToken } from './interface'; import { type DerivativeFunc } from '../cssinjs'; export type MappingAlgorithm = DerivativeFunc; export interface ThemeConfig { token?: Partial; components?: OverrideToken; algorithm?: MappingAlgorithm | MappingAlgorithm[]; inherit?: boolean; } export declare class ThemeManager { theme?: ComputedRef; overrideStyles: Record; style: HTMLStyleElement | null | undefined; constructor(theme?: ComputedRef); setStyle(styleStr: string, hashId: string): void; setOverrideStyle(styleStr: string, pathHash: string, hashId: string): void; destroy(): void; } export type ThemeContext = ComputedRef; export declare const useThemeProvide: (themeManager: ThemeManager) => void; export declare const useTheme: (themeManager?: ThemeManager) => ThemeManager;