import { ABIMethod, ABIMethodParams } from './method.js'; import { ARC28Event } from './event.js'; export interface ABIContractNetworkInfo { appID: number; } export interface ABIContractNetworks { [network: string]: ABIContractNetworkInfo; } export interface ABIContractParams { name: string; desc?: string; networks?: ABIContractNetworks; methods: ABIMethodParams[]; events?: ARC28Event[]; } export declare class ABIContract { readonly name: string; readonly description?: string; readonly networks: ABIContractNetworks; readonly methods: ABIMethod[]; /** [ARC-28](https://arc.algorand.foundation/ARCs/arc-0028) events that MAY be emitted by this contract */ readonly events?: ARC28Event[]; constructor(params: ABIContractParams); toJSON(): ABIContractParams; getMethodByName(name: string): ABIMethod; }