import { SerializableProperties } from "../primitives";
import { AdjustedColor, SchemeColorLookup } from "../color";
import { IDocTheme, DocThemeValues, IColorScheme, IFontScheme, ColorSchemeValues, FontSchemeValues } from './IDocTheme';
import { IDocThemes, GetThemeType } from './IDocThemes';
export declare const generateColorSchemesFromArray: (colorSchemes: string[][]) => Record<string, ColorSchemeValues>;
export declare const generateFontSchemesFromArray: (fontSchemes: string[][]) => Record<string, FontSchemeValues>;
export declare class DocTheme implements IDocTheme {
    private _name;
    private _colorScheme;
    private _fontScheme;
    private _schemeLookup;
    private _colorMap;
    private _builtInID;
    private _delegate;
    private _cacheColors;
    constructor(override?: SerializableProperties<DocThemeValues>, delegate?: Partial<DocThemeValues>, builtIn?: number | null);
    get name(): string;
    get builtInID(): number | null;
    isCustom(): boolean;
    get colorScheme(): IColorScheme;
    get fontScheme(): IFontScheme;
    /**
     * This is available for functions that want to resolve themed colors
     */
    schemeLookup(): SchemeColorLookup;
    /**
     * Parses the color using the current Theme schema (if required)
     * @param str
     */
    parseColor(str: string): AdjustedColor;
    toJSON(): SerializableProperties<DocThemeValues>;
}
/**
 * Collection of themes
 */
export declare class DocThemes implements IDocThemes {
    private _builtInsMap;
    private _customMap;
    private _defaultTheme;
    private _isReadOnly;
    constructor(_json?: SerializableProperties<DocThemeValues>[], isReadOnly?: boolean);
    private _initializeBuiltIns;
    getDefaultTheme(): IDocTheme;
    setDefaultTheme(theme: IDocTheme): IDocTheme;
    getTheme(name: string): IDocTheme | null;
    getThemes(type?: GetThemeType): Map<string, IDocTheme>;
    setCustomTheme(theme: IDocTheme): IDocTheme | null;
    deleteCustomTheme(theme: IDocTheme | string): IDocTheme | null;
    toJSON(): SerializableProperties<DocThemeValues>[];
    fromJSON(_json: SerializableProperties<DocThemeValues>[]): void;
}
export declare const sortDocThemes: (themes: IDocTheme[]) => IDocTheme[];
/**
 * Singleton instance the DocThemes.
 */
export declare const DEFAULT_DOC_THEMES: DocThemes;
//# sourceMappingURL=DocThemes.d.ts.map