import type { WrappersConstantDescription } from "../bindings/writeTypescript"; import type { Project } from "../config/parseConfig"; import { CompilerContext } from "../context/context"; import type { ILogger } from "../context/logger"; import type { VirtualFileSystem } from "../vfs/VirtualFileSystem"; import type { TactErrorCollection } from "../error/errors"; import type { TypeDescription } from "../types/types"; export type BuildContext = { readonly project: VirtualFileSystem; readonly stdlib: VirtualFileSystem; readonly config: Project; readonly logger: ILogger; readonly compilerInfo: string; readonly built: BuildRecord; readonly errorMessages: TactErrorCollection[]; ctx: CompilerContext; }; export type CompileTactRes = { readonly abi: string; readonly funcSource: Readonly; readonly entrypointPath: string; readonly constants: { readonly name: string; readonly value: string | undefined; readonly fromContract: boolean; }[]; }; export type FuncSource = { readonly path: string; readonly content: string; }; export type BuiltContract = { readonly abi: string; readonly codeBoc: Buffer; readonly constants: readonly WrappersConstantDescription[]; readonly contract: TypeDescription; }; export type BuildRecord = Record; export type BuildResult = { readonly ok: boolean; readonly error: TactErrorCollection[]; }; export declare const BuildOk: () => BuildResult; export declare const BuildFail: (error: TactErrorCollection[]) => BuildResult; export declare function build(args: { readonly config: Project; readonly project: VirtualFileSystem; readonly stdlib: string | VirtualFileSystem; readonly logger?: ILogger; }): Promise; export declare function enableFeatures(ctx: CompilerContext, logger: ILogger, config: Project): CompilerContext;