import { Event } from '@opensumi/ide-core-common'; import { Color } from './color'; import { ColorContribution, ColorDefaults, ColorFunction, ColorIdentifier, ColorValue, ITheme } from './theme.service'; export declare const Extensions: { ColorContribution: string; }; export interface IColorRegistry { /** * Register a color to the registry. * @param id The color id as used in theme description files * @param defaults The default values * @description the description */ registerColor(id: string, defaults: ColorDefaults, description: string): ColorIdentifier; /** * Register a color to the registry. */ deregisterColor(id: string): void; /** * Get all color contributions */ getColors(): ColorContribution[]; /** * Get color contributions by id */ getColor(id: string): ColorContribution; /** * Gets the default color of the given id */ resolveDefaultColor(id: ColorIdentifier, theme: ITheme): Color | undefined; onDidColorChangedEvent: Event; } export declare function getColorRegistry(): IColorRegistry; export declare function registerColor(id: string, defaults: ColorDefaults | null, description: string, needsTransparency?: boolean, deprecationMessage?: string): ColorIdentifier; export declare function darken(colorValue: ColorValue, factor: number): ColorFunction; export declare function lighten(colorValue: ColorValue, factor: number): ColorFunction; export declare function transparent(colorValue: ColorValue, factor: number): ColorFunction; export declare function opaque(colorValue: ColorValue, background: ColorValue): ColorFunction; export declare function oneOf(...colorValues: ColorValue[]): ColorFunction; export declare function lessProminent(colorValue: ColorValue, backgroundColorValue: ColorValue, factor: number, transparency: number): ColorFunction; /** * @param colorValue Resolve a color value in the context of a theme */ export declare function resolveColorValue(colorValue: ColorValue | null, theme: ITheme): Color | undefined; //# sourceMappingURL=utils.d.ts.map