import { CompareExpr, MathExpr, NameExpr, NumberExpr, SimpleExpr } from '@ton-community/tlb-parser'; import { TLBConstructorTag, TLBField, TLBMathExpr, TLBVariableType } from '../ast'; export type TLBVariableBuild = { isConst: boolean; negated: boolean; type: TLBVariableType; name: string | undefined; deriveExpr?: TLBMathExpr; initialExpr?: TLBMathExpr; isField: boolean; calculated: boolean; }; export type TLBParameterBuild = { variable: TLBVariableBuild; paramExpr: TLBMathExpr; argName?: string; }; export type TLBConstructorBuild = { parameters: Array; variables: Array; variablesMap: Map; parametersMap: Map; name: string; fields: Array; tag: TLBConstructorTag; constraints: Array; declaration: string; tlbType: string; }; export type TLBCodeBuild = { types: Map; }; export type TLBTypeBuild = { name: string; constructors: Array; }; export declare function opCodeSetsEqual(a: string[], b: string[]): boolean; export declare function calculateVariable(variable: TLBVariableBuild, constructor: TLBConstructorBuild): void; export declare function getCalculatedExpression(expr: TLBMathExpr, constructor: TLBConstructorBuild): TLBMathExpr; export declare function splitForTypeValue(name: string, typeName: string): number | undefined; export declare function deriveMathExpression(mathExpr: MathExpr | NameExpr | NumberExpr | CompareExpr): { name: string | undefined; derived: TLBMathExpr; }; export declare function getVariableName(myMathExpr: TLBMathExpr): string | undefined; export declare function reorganizeExpression(mathExpr: TLBMathExpr, variable: string): TLBMathExpr; export declare function getNegatedVariable(mathExpr: TLBMathExpr): string | undefined; export declare function convertToMathExpr(mathExpr: SimpleExpr | NameExpr | NumberExpr | CompareExpr, negated?: boolean): TLBMathExpr;