import type { IExpression } from '../typings/expression'; import type { ILiteral } from '../typings/literal'; import type { IStatement } from '../typings/statement'; import type { IType } from '../typings/type'; import { LineInfo } from '../misc/utils'; import ValueAtom from './enums/literal'; import { MichelsonType } from './enums/type'; import { Proxied } from '../misc/proxy'; export declare class Expression implements IExpression { name: string; _isExpression: true; _type: T; private args; constructor(name: string, ...args: (IExpression | LineInfo | IType | string | number)[]); static proxyHandler: ProxyHandler; toString(): string; } export declare class LiteralExpression implements ILiteral { private name; private values; private line; _isExpression: true; _type: T; constructor(name: ValueAtom, values: (number | string | boolean | IExpression)[], line: LineInfo); toString(): string; } export declare class RecordLiteral implements ILiteral { private fields; private line; _isExpression: true; _type: MichelsonType.pair; constructor(fields: Record, line: LineInfo); private buildFields; toString(): string; } export declare class MapLiteral implements ILiteral { private prim; private rows; private line; _isExpression: true; _type: T; constructor(prim: ValueAtom.map | ValueAtom.big_map, rows: IExpression[][], keyType: IType, valueType: IType, line: LineInfo); private buildEntry; toString(): string; } export declare class LambdaLiteral implements ILiteral { private statements; private inType; private argumentName; private line; _isExpression: true; _type: MichelsonType.lambda; static idCounter: number; private identifier; private withStorage?; private withOperations; constructor(statements: IStatement[], inType: IType, argumentName: string, line: LineInfo); get id(): Readonly; setInputType(type: IType): this; code(buildStatements: (arg: Proxied>) => IStatement[]): this; toString(): string; }