cs-element
Version:
Advanced reactive data management library with state machines, blueprints, persistence, compression, networking, and multithreading support
97 lines • 3.52 kB
TypeScript
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