UNPKG

cs-element

Version:

Advanced reactive data management library with state machines, blueprints, persistence, compression, networking, and multithreading support

97 lines 3.52 kB
import { EventEmitter } from 'events'; import { IBlueprintManager, IBlueprintFactory, IBlueprint, BlueprintManagerConfig, BlueprintSearchCriteria, BlueprintSearchResult, BlueprintGenerationResult, BlueprintUsageStatistics, BlueprintManagerEvents } from '../types/blueprint-interfaces'; import { ICSElement } from '../types/interfaces'; /** * Менеджер шаблонов для управления коллекцией Blueprint */ export declare class BlueprintManager extends EventEmitter implements IBlueprintManager { readonly config: BlueprintManagerConfig; readonly factory: IBlueprintFactory; private blueprints; private cache; private usageStats; constructor(factory: IBlueprintFactory, config?: BlueprintManagerConfig); /** * Регистрация встроенных шаблонов */ private registerBuiltinBlueprints; /** * Регистрация шаблона */ registerBlueprint(blueprint: IBlueprint): Promise<void>; /** * Получение шаблона по ID */ getBlueprint(id: string): Promise<IBlueprint | null>; /** * Получение всех зарегистрированных шаблонов */ getAllBlueprints(): Promise<IBlueprint[]>; /** * Поиск шаблонов */ searchBlueprints(criteria: BlueprintSearchCriteria): Promise<BlueprintSearchResult>; /** * Удаление шаблона */ unregisterBlueprint(id: string): Promise<boolean>; /** * Генерация структуры из шаблона */ generateFromBlueprint(blueprintId: string, parameters: Record<string, any>, options?: { parentElement?: ICSElement; idPrefix?: string; dryRun?: boolean; }): Promise<BlueprintGenerationResult>; /** * Валидация параметров шаблона */ validateBlueprintParameters(blueprintId: string, parameters: Record<string, any>): Promise<{ valid: boolean; errors: Array<{ parameter: string; message: string; }>; warnings: Array<{ parameter: string; message: string; }>; }>; /** * Получение статистики использования */ getUsageStatistics(blueprintId?: string): Promise<BlueprintUsageStatistics[]>; /** * Экспорт шаблона */ exportBlueprint(blueprintId: string): Promise<string>; /** * Импорт шаблона */ importBlueprint(blueprintData: string): Promise<IBlueprint>; /** * Очистка кэша */ clearCache(): Promise<void>; /** * Получение рекомендаций шаблонов */ getRecommendations(context?: { usageHistory?: string[]; currentProject?: any; userPreferences?: any; }): Promise<IBlueprint[]>; /** * Добавление в кэш с учетом лимитов */ private addToCache; /** * Обновление статистики использования */ private updateUsageStatistics; } export interface BlueprintManagerEventEmitter { on<K extends keyof BlueprintManagerEvents>(event: K, listener: (args: BlueprintManagerEvents[K]) => void): this; emit<K extends keyof BlueprintManagerEvents>(event: K, args: BlueprintManagerEvents[K]): boolean; } //# sourceMappingURL=BlueprintManager.d.ts.map