cs-element
Version:
Advanced reactive data management library with state machines, blueprints, persistence, compression, networking, and multithreading support
97 lines • 3.51 kB
TypeScript
import { IBlueprintBuilder, IBlueprint, BlueprintType, BlueprintCategory, BlueprintParameter, BlueprintParameterGroup, BlueprintMetadata, BlueprintGenerationContext, BlueprintGenerationResult } from '../types/blueprint-interfaces';
/**
* Построитель шаблонов для удобного создания Blueprint
*/
export declare class BlueprintBuilder implements IBlueprintBuilder {
private basicInfo?;
private version;
private metadata;
private parameterGroups;
private generator?;
/**
* Установка базовой информации
*/
setBasicInfo(info: {
id: string;
name: string;
description: string;
type: BlueprintType;
category: BlueprintCategory;
}): IBlueprintBuilder;
/**
* Установка версии
*/
setVersion(version: string): IBlueprintBuilder;
/**
* Добавление группы параметров
*/
addParameterGroup(group: BlueprintParameterGroup): IBlueprintBuilder;
/**
* Добавление параметра
*/
addParameter(parameter: BlueprintParameter, groupId?: string): IBlueprintBuilder;
/**
* Добавление нескольких параметров
*/
addParameters(parameters: BlueprintParameter[], groupId?: string): IBlueprintBuilder;
/**
* Создание и добавление группы с параметрами
*/
addGroupWithParameters(groupInfo: Omit<BlueprintParameterGroup, 'parameters'>, parameters: BlueprintParameter[]): IBlueprintBuilder;
/**
* Установка метаданных
*/
setMetadata(metadata: BlueprintMetadata): IBlueprintBuilder;
/**
* Добавление тегов
*/
addTags(tags: string[]): IBlueprintBuilder;
/**
* Добавление примера использования
*/
addExample(example: {
name: string;
description: string;
parameters: Record<string, any>;
}): IBlueprintBuilder;
/**
* Установка автора
*/
setAuthor(author: string): IBlueprintBuilder;
/**
* Установка лицензии
*/
setLicense(license: string): IBlueprintBuilder;
/**
* Установка документации
*/
setDocumentation(documentation: string): IBlueprintBuilder;
/**
* Установка генератора
*/
setGenerator(generator: (context: BlueprintGenerationContext) => Promise<BlueprintGenerationResult>): IBlueprintBuilder;
/**
* Построение шаблона
*/
build(): IBlueprint;
/**
* Валидация конфигурации
*/
validate(): {
valid: boolean;
errors: string[];
};
/**
* Сброс построителя
*/
reset(): IBlueprintBuilder;
/**
* Клонирование существующего шаблона для модификации
*/
static fromBlueprint(blueprint: IBlueprint): BlueprintBuilder;
/**
* Создание быстрого шаблона с минимальными настройками
*/
static quickBlueprint(id: string, name: string, description: string, type: BlueprintType, category: BlueprintCategory, generator: (context: BlueprintGenerationContext) => Promise<BlueprintGenerationResult>): IBlueprint;
}
//# sourceMappingURL=BlueprintBuilder.d.ts.map