import { Color, ThemeColorDefinition, ThemeStyling, ThemeDefinition, BorderDefinition } from "../../models";
import { OmniaTheming } from "../OmniaTheming";
import { GuidValue, ThemeType } from "../../models";
export declare class ThemeManager {
    static omniaTheming: OmniaTheming;
    static isDarkColor(color: string): boolean;
    private static getDefaultComponentColor;
    static IsRGBColor(color: string): boolean;
    static GetRGBValues(color: string): string[];
    static GetRGBValuesFromHex(color: string): number[];
    static ParseRGBColor(color: string): Color;
    static ParseColor(color: string): Color;
    static ExtractReplacementColors(color: string): string;
    static InjectReplacementColors(color: string): string;
    static EnsureDefaultBorder(themeDefinition: ThemeDefinition): void;
    /**
     * We had model mismatch of BorderDefinition between client-side and server-side.
     *
     * It had been PascalCase on server-side: RadiusTop, RadiusBotton (not m)
     * Then we had to update them to Radiustop and Radiusbottom to match the lowercase of client-side: radiustop, radiusbottom
     *
     * So this soft migration is all about that
     */
    static MigrateBorder(borderDefinition: BorderDefinition): void;
    static CreateThemeStylingFromDefinition(themeDefinition: ThemeColorDefinition): ThemeStyling;
    static CreateDefaultBorderDefinition(): BorderDefinition;
    static CreateThemeDefinition(primaryColor: string, secondaryColor: string, name: string, themeType: ThemeType, id?: GuidValue, readOnly?: boolean): ThemeDefinition;
}
