/** * Copyright 2023 Kapeta Inc. * SPDX-License-Identifier: MIT */ import { BlockDefinition } from '@kapeta/schemas'; import { TargetRegistry } from './TargetRegistry'; import { CodeGenerator, GeneratedAsset, GeneratedResult, TargetMethods, ValidationResult } from './types'; export declare class BlockCodeGenerator implements CodeGenerator { private readonly _data; private readonly _registry; private additionalOptions; constructor(blockData: BlockDefinition, registry?: TargetRegistry | null); withOptions(options: { [key: string]: any; }): BlockCodeGenerator; withOption(key: string, value: any): BlockCodeGenerator; getTargetOptions(): { [key: string]: any; }; private createTarget; /** * Generates the code for a block and returns an array of objects * * Example: * [{filename:"index.js", content:"..."}, ...] */ generate(): Promise; postprocess(targetDir: string, assets: GeneratedAsset[]): Promise; postprocessForTarget(targetDir: string, assets: GeneratedAsset[], target: TargetMethods): Promise; generateForTarget(target: TargetMethods): Promise; validateForTarget(targetDir: string): Promise; language(): Promise; }