import { ColorStyles } from "@omnia/fx-models";
import { ThemeStoreV2 } from "../ThemeStoreV2";
export interface ColorTypeResult<resultType> {
    base: resultType;
    baseTone: resultType;
    onBase: resultType;
    onBaseTone: resultType;
    container: resultType;
    containerTone: resultType;
    onContainer: resultType;
    onContainerTone: resultType;
    colorType: (colorType: string) => resultType;
}
export interface ThemeDefinitionTypeResult {
    primary: ColorTypeResult<ColorStyles>;
    secondary: ColorTypeResult<ColorStyles>;
    accent1: ColorTypeResult<ColorStyles>;
    accent2: ColorTypeResult<ColorStyles>;
    accent3: ColorTypeResult<ColorStyles>;
    background: ColorTypeResult<ColorStyles>;
    neutral: ColorTypeResult<ColorStyles>;
    info: ColorTypeResult<ColorStyles>;
    error: ColorTypeResult<ColorStyles>;
    colorTypeSchema: (colorSchemaType: string) => ColorTypeResult<ColorStyles>;
}
export interface TypographyTypesResult {
    h1: string;
    h2: string;
    h3: string;
    caption: string;
    link: string;
    text: string;
    typographyType: (typographyType: string) => string;
}
export declare const useThemeStyling: (injectedThemeStore?: ThemeStoreV2) => {
    colorSchemas: () => ThemeDefinitionTypeResult;
    colorSchema: (colorSchemaType: string) => any;
    color: (colorSchemaType: string, colorType: string, opacity?: number) => ColorStyles;
    cardStylings: (colorSchemaType: string, opacity?: number) => ColorTypeResult<string>;
    cardStyling: (colorSchemaType: string, colorType: string, opacity?: number) => string;
    cardImage: string;
    typographies: () => TypographyTypesResult;
    typography: (typographyType: string) => any;
    vuetify: (colorSchemaType: string) => {
        generalStylings: () => ColorTypeResult<object>;
        generalStyling: (colorType: string) => object;
        sliderStylings: () => ColorTypeResult<object>;
        sliderStyling: (colorType: string) => object;
    };
};
