import type { FunctionCallDef, ServiceDef } from "@fluencelabs/interfaces"; export class AquaConfig { constructor( logLevel?: string, constants?: string[], noXor?: boolean, noRelay?: boolean, targetType?: string, tracing?: boolean, ); logLevel?: string; constants?: string[]; noXor?: boolean; noRelay?: boolean; targetType?: string; tracing?: boolean; } export class AquaFunction { funcDef: FunctionCallDef; script: string; } export class GeneratedSource { name: string; tsSource?: string; jsSource?: string; tsTypes?: string; } export class CompilationResult { services: Record; functions: Record; functionCall?: AquaFunction; errors: string[]; generatedSources: GeneratedSource[]; } export class Input { constructor(input: string); input: string; } export class Path { constructor(path: string); path: string; } export class Call { constructor(functionCall: string, arguments: any, input: Input | Path); functionCall: string; arguments: any; input: Input | Path; } export class Compiler { compile( input: Input | Path | Call, imports: string[], config?: AquaConfig, ): Promise; } export var Aqua: Compiler;