import type { Abi, Address, Chain, Hex, parseAbiParameters } from "viem"; import type { Evaluate, MaybeArray, MaybePromise } from "./types"; export type ContractConfig = { /** * Contract ABI */ abi: Abi; /** * Contract address or addresses. * * Accepts an object `{ [chainId]: address }` to support multiple chains. * * @example * '0x314159265dd8dbb310642f98f50c066173c1259b' * * @example * { * 1: '0x314159265dd8dbb310642f98f50c066173c1259b', * 5: '0x112234455c3a32fd11230c42e7bccd4a84e02010', * } */ address?: Address | (requiredChainId extends number ? Record & Partial> : Record) | undefined; /** * Name of contract. */ name: string; }; export type Contract = Evaluate; export type PluginConfig = { abi: Abi; addresses: Record; chain?: Chain; rpcUrl?: string; name: string; installConfig?: { initAbiParams: ReturnType | []; dependencies?: { plugin: PluginConfig; functionId: Hex; }[]; }; }; export type Config = { chain: Chain; rpcUrl: string; outDir?: string; plugins: PluginConfig[]; }; export declare function defineConfig(config: MaybeArray | (() => MaybePromise>)): MaybeArray | (() => MaybePromise>); //# sourceMappingURL=config.d.ts.map