import { Color } from "@codingame/monaco-vscode-api/vscode/vs/base/common/color"; import { ThemeIcon } from "@codingame/monaco-vscode-api/vscode/vs/base/common/themables"; import { IColorTheme } from "@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService"; export interface IActivity { readonly badge: IBadge; } export interface IBadge { getDescription(): string; getColors(theme: IColorTheme): IBadgeStyles | undefined; } export interface IBadgeStyles { readonly badgeBackground: Color | undefined; readonly badgeForeground: Color | undefined; readonly badgeBorder: Color | undefined; } declare class BaseBadge implements IBadge { protected readonly descriptorFn: (arg: T) => string; private readonly stylesFn; constructor(descriptorFn: (arg: T) => string, stylesFn: ((theme: IColorTheme) => IBadgeStyles | undefined) | undefined); getDescription(): string; getColors(theme: IColorTheme): IBadgeStyles | undefined; } export declare class NumberBadge extends BaseBadge { readonly number: number; constructor(number: number, descriptorFn: (num: number) => string); getDescription(): string; } export declare class IconBadge extends BaseBadge { readonly icon: ThemeIcon; constructor(icon: ThemeIcon, descriptorFn: () => string, stylesFn?: (theme: IColorTheme) => IBadgeStyles | undefined); } export declare class ProgressBadge extends BaseBadge { constructor(descriptorFn: () => string); } export declare class WarningBadge extends IconBadge { constructor(descriptorFn: () => string); } export declare class ErrorBadge extends IconBadge { constructor(descriptorFn: () => string); } export {};