import { CompiledCircuit } from '@aztec/noir-types'; import { Abi } from '@aztec/noir-noirc_abi'; export declare class TypingsGenerator { private useFixedLengthArrays; /** All the types in the ABIs */ private allTypes; /** The demonomorphized ABIs of the circuits */ private demonomorphizedAbis; /** Maps struct id to name for structs with the same name and different field sets */ private structIdToTsName; /** Collect all the primitives used in the types to add them to the codegen */ private primitiveTypesUsed; constructor(circuits: { abi: Abi; circuitName: string; artifact?: CompiledCircuit; }[], useFixedLengthArrays: boolean); codegen(): string; private codegenAllStructs; private getStructName; private codegenStructType; private codegenType; /** * Typescript does not allow us to check for equality of non-primitive types * easily, so we create a addIfUnique function that will only add an item * to the map if it is not already there by using JSON.stringify. * @param item - The item to add to the map. */ private addIfUnique; /** * Codegen all the interfaces for the circuits. * For a circuit named Foo, we'll codegen FooInputType and FooReturnType. */ private codegenAllInterfaces; private codegenAllPrimitives; }