polyv-live-cli
Version:
CLI tool for managing PolyV live streaming services.
53 lines • 1.88 kB
TypeScript
import { EventEmitter } from 'events';
import { ThemeConfig } from '../types/monitoring';
export interface ThemeManagerOptions {
themesDir?: string;
autoSave?: boolean;
enablePreview?: boolean;
}
export interface ThemePreview {
themeId: string;
components: string[];
timestamp: Date;
}
export declare class ThemeManager extends EventEmitter {
private themes;
private currentThemeId;
private customThemes;
private themesDir;
private options;
private previewMode;
private originalThemeId;
constructor(options?: ThemeManagerOptions);
getAvailableThemes(): string[];
getTheme(themeId: string): ThemeConfig | undefined;
getCurrentTheme(): ThemeConfig;
getCurrentThemeId(): string;
applyTheme(themeId: string): Promise<void>;
createCustomTheme(theme: ThemeConfig): Promise<void>;
updateCustomTheme(themeId: string, updates: Partial<ThemeConfig>): Promise<void>;
deleteCustomTheme(themeId: string): Promise<void>;
exportTheme(themeId: string, filePath: string): Promise<void>;
importTheme(filePath: string): Promise<ThemeConfig>;
startPreview(themeId: string): Promise<void>;
endPreview(): Promise<void>;
getCustomThemes(): ThemeConfig[];
getBuiltInThemes(): ThemeConfig[];
isInPreviewMode(): boolean;
private ensureThemesDirectory;
private loadBuiltInThemes;
private loadCustomThemes;
private saveCustomTheme;
private applyThemeToInterface;
private createDefaultTheme;
private createDarkTheme;
private createLightTheme;
private createHighContrastTheme;
private createDefaultComponentStyles;
private createDarkComponentStyles;
private createLightComponentStyles;
private createHighContrastComponentStyles;
destroy(): void;
}
export declare const themeManager: ThemeManager;
//# sourceMappingURL=theme-manager.d.ts.map