import { Deferred, Event, IDisposable, StaticResourceService, URI, WithEventBus } from '@opensumi/ide-core-browser'; import { ExtensionData, IProductIconService, IProductIconTheme, IThemeContribution, IconThemeInfo } from '../common'; import { IconContribution, IconDefinition } from '../common/icon-registry'; import { ProductIconThemeStore } from './product-icon-theme-store'; export declare function asCSSUrl(uri: URI | null | undefined, staticResourceService: StaticResourceService): string; export declare function asCSSPropertyValue(value: string): string; export declare class ProductIconService extends WithEventBus implements IProductIconService { staticResourceService: StaticResourceService; productIconThemeStore: ProductIconThemeStore; private preferenceService; private preferenceSchemaProvider; private preferenceSettings; private readonly logger; private themeChangeEmitter; currentThemeId: string; currentTheme: IProductIconTheme; productIconThemeLoaded: Deferred; private productIconContributionRegistry; private latestApplyTheme; private getIconsStyleSheet; readonly onDidProductIconThemeChange: Event; private defaultProductIconThemeData; constructor(); private listen; onDidExtensionContributes(): Promise; get preferenceThemeId(): string | undefined; get currentThemeData(): IProductIconTheme; /** * 初始化注册默认主题 */ updateProductIconThemes(): Promise; applyTheme(themeId: string): Promise; getProductIconTheme(themeId: string): Promise; registerProductIconThemes(productIconThemesContribution: IThemeContribution[], basePath: URI): void; getAvailableThemeInfos(): IconThemeInfo[]; } export interface IIconsStyleSheet extends IDisposable { getCSS(): string; readonly onDidChange: Event; getSumiCSS(): string; } export declare function getIconsStyleSheet(themeService: ProductIconService | undefined, staticResourceService: StaticResourceService): IIconsStyleSheet; export declare class UnthemedProductIconTheme implements IProductIconTheme { id: string; label: string; extensionData?: ExtensionData | undefined; description?: string | undefined; settingsId: string | null; styleSheetContent?: string | undefined; getIcon(contribution: IconContribution): IconDefinition | undefined; } //# sourceMappingURL=product-icon.service.d.ts.map