UNPKG

polyv-live-cli

Version:

CLI tool for managing PolyV live streaming services.

88 lines 3.02 kB
import { EventEmitter } from 'events'; import { ThemeConfig, ColorScheme, FontConfig, BorderConfig, ComponentStyles, StyleConfig } from '../types/monitoring'; export interface ThemeBuilderOptions { enablePreview?: boolean; autoValidate?: boolean; strictMode?: boolean; } export interface ColorPalette { name: string; colors: string[]; description?: string; } export interface ThemeTemplate { id: string; name: string; description: string; baseTheme: Partial<ThemeConfig>; category: 'dark' | 'light' | 'high-contrast' | 'custom'; } export interface ThemePreviewData { themeId: string; components: string[]; screenshot?: string; timestamp: Date; } export declare class CustomThemeBuilder extends EventEmitter { private currentTheme; private options; private colorPalettes; private templates; private validationErrors; private validationWarnings; constructor(options?: ThemeBuilderOptions); startNew(baseTemplate?: string): this; loadTheme(theme: ThemeConfig): this; setThemeInfo(info: { id: string; name: string; description?: string; author?: string; version?: string; }): this; setColors(colors: Partial<ColorScheme> | string): this; setColor(colorName: keyof ColorScheme, colorValue: string): this; setFonts(fonts: Partial<FontConfig>): this; setBorders(borders: Partial<BorderConfig>): this; setComponentStyles(componentStyles: Partial<ComponentStyles>): this; setComponentStyle(componentName: keyof ComponentStyles, style: Partial<StyleConfig>): this; transformColors(transformation: (color: string) => string): this; adjustBrightness(factor: number): this; adjustSaturation(factor: number): this; generateComplementaryScheme(baseColor: string): this; validateCurrentTheme(): { valid: boolean; errors: string[]; warnings: string[]; }; getValidationErrors(): string[]; getValidationWarnings(): string[]; build(): ThemeConfig; getProgress(): { completed: string[]; missing: string[]; percentage: number; }; getCurrentTheme(): Partial<ThemeConfig>; getAvailableColorPalettes(): string[]; getColorPalette(name: string): ColorPalette | undefined; addColorPalette(palette: ColorPalette): this; getAvailableTemplates(): string[]; getTemplate(id: string): ThemeTemplate | undefined; addTemplate(template: ThemeTemplate): this; reset(): this; private initializeTheme; private validateAndEmit; private buildCompleteTheme; private getDefaultColors; private getDefaultFonts; private getDefaultBorders; private getDefaultComponentStyles; private paletteToColorScheme; private adjustColorBrightness; private adjustColorSaturation; private generateComplementaryColors; private loadBuiltInColorPalettes; private loadBuiltInTemplates; } //# sourceMappingURL=custom-theme-builder.d.ts.map