import { ABIField, ABISerializableConstructor, ABISerializableObject, ABITypeModifiers } from "../serializer/serializable.js"; export interface StructConstructor extends ABISerializableConstructor { new (...args: any[]): T; structFields: ABIField[]; } export declare class Struct implements ABISerializableObject { static abiName: string; static abiFields: ABIField[]; static abiBase: ABISerializableConstructor; static from(this: T, value: any): InstanceType; static from(value: any): unknown; static get structFields(): ABIField[]; constructor(object: any); equals(other: any): boolean; toJSON(): any; } export declare namespace Struct { function type(name: string): (struct: T) => T; function field(type: ABISerializableConstructor | string, options?: ABITypeModifiers): (target: T, name: string) => void; } //# sourceMappingURL=struct.d.ts.map