import { type TAbiItem } from '../types/TAbi'; import { TAddress } from '../models/TAddress'; import { TPlatform } from '../models/TPlatform'; import { Web3Client } from '../clients/Web3Client'; export declare class GeneratorFromAbi { static get Gen(): typeof Gen; generate(abiJson: TAbiItem[], opts: { target?: 'js' | 'mjs' | 'ts' | 'cjs'; network: TPlatform; name: string; contractName: string; address: TAddress; output: string; outputFileExt?: string; implementation: TAddress; saveAbi?: boolean; saveSources?: boolean; sources?: { [file: string]: { content: string; }; }; sourceMain?: string; /** Path to the compiled meta json file (with ABI and Bytecode) */ artifact?: string; client?: Web3Client; }): Promise<{ main: string; sources: any[]; platform: string; address: `0x${string}`; implementation: `0x${string}`; contractName: string; }>; private getRelativePath; } declare namespace Gen { function serializeMethodTs(abi: TAbiItem): { ts: string; types: string; js: string; }; function serializeMethodTsOverloads(abis: TAbiItem[]): { ts: string; types: string; js: string; }; function serializeMethodInterfacesTs(name: string, abis: TAbiItem[]): { method: string; interface: string; code: string; }; function serializeMethodTypingsTs(name: string, abis: TAbiItem[]): { method: string; interface: string; code: string; }; function serializeMethodInterfacesAllTs(methods: { method: string; interface: string; }[]): { code: string; }; function serializeEventsInterfacesAllTs(events: TAbiItem[]): { code: string; }; function serializeEventType(event: TAbiItem): { code: string; }; function serializeEvent(abi: TAbiItem): { ts: string; types: string; js: string; }; function serializeEventExtractor(abi: TAbiItem): { ts: string; types: string; js: string; }; function serializeEventFetcher(abi: TAbiItem): { ts: string; types: string; js: string; }; function serializeMethodAbi(abi: TAbiItem, includeNames?: boolean): string; function serializeErrors(className: string, abiJson: TAbiItem[]): string; function serializeTxCallerMethods(className: string, abiJson: TAbiItem[]): { ts: string; js: string; }; function serializeTxDataMethods(className: string, abiJson: TAbiItem[]): { ts: string; js: string; }; } export {};