polyv-live-cli
Version:
CLI tool for managing PolyV live streaming services.
63 lines • 2.33 kB
TypeScript
import { MonitoringConfig, ThemeConfig, LayoutConfig } from '../types/monitoring';
export type ConfigFormat = 'json' | 'yaml';
export interface ExportOptions {
format: ConfigFormat;
includeMetadata?: boolean;
includeCustomThemes?: boolean;
includeCustomLayouts?: boolean;
minify?: boolean;
}
export interface ImportOptions {
format?: ConfigFormat;
validateOnly?: boolean;
mergeMode?: 'replace' | 'merge' | 'selective';
backupOriginal?: boolean;
}
export interface ExportManifest {
exportedAt: string;
version: string;
format: ConfigFormat;
source: string;
components: {
config: boolean;
themes: number;
layouts: number;
};
metadata?: Record<string, any>;
}
export interface ImportResult {
success: boolean;
config?: MonitoringConfig | undefined;
themes?: ThemeConfig[];
layouts?: LayoutConfig[];
manifest?: ExportManifest;
warnings: string[];
errors: string[];
}
export declare class ConfigImporter {
static importFromFile(filePath: string, options?: ImportOptions): Promise<ImportResult>;
static importFromData(data: any, _options?: ImportOptions): Promise<ImportResult>;
private static detectFormat;
private static parseContent;
private static validateManifest;
private static importConfig;
private static importThemes;
private static importLayouts;
}
export declare class ConfigExporter {
static exportToFile(config: MonitoringConfig, filePath: string, options?: ExportOptions): Promise<void>;
static exportComplete(config: MonitoringConfig, themes: ThemeConfig[], layouts: LayoutConfig[], filePath: string, options?: ExportOptions): Promise<void>;
static exportToString(config: MonitoringConfig, options?: ExportOptions): string;
private static createExportData;
private static createManifest;
private static serializeData;
}
export declare class ConfigVersionManager {
private static readonly SUPPORTED_VERSIONS;
private static readonly CURRENT_VERSION;
static isVersionSupported(version: string): boolean;
static getCurrentVersion(): string;
static migrateConfig(config: any, fromVersion: string): MonitoringConfig;
static getMigrationPath(fromVersion: string, toVersion: string): string[];
}
//# sourceMappingURL=config-io.d.ts.map