import { ThemeInjection, ThemeProps } from '../composables/theme'; import { ThemeColorMap } from '../types/ThemeColorMap'; export interface ThemeableComponentOptions { cls: string; el?: string; themeMap?: ThemeColorMap; } export interface ThemeableComponentProps extends Partial { tag?: string; } export declare function isThemeable(props: Partial, injection: ThemeInjection): boolean; export declare function getThemeableFunctionalComponent({ cls, el, themeMap }: ThemeableComponentOptions): import("vue").DefineComponent<{ tag: { type: (FunctionConstructor | StringConstructor)[]; default: string; }; themeMap: { type: import("vue").PropType; required: boolean; default: import("fp-ts/lib/function").Lazy; }; isThemeable: { type: import("vue").PropType; required: boolean; default: boolean; }; }, () => import("vue").VNode, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{ isThemeable: boolean; themeMap: ThemeColorMap; tag: string | Function; } & {}>, { isThemeable: boolean; themeMap: ThemeColorMap; tag: string | Function; }>;