import type { AnyProvider } from "./providers.js"; import type { ABI } from "./abi.js"; import { type ProxyResolver } from "./proxies.js"; import type { ABILoader, SignatureLookup, ContractResult } from "./loaders.js"; export declare const defaultConfig: { onProgress: (_: string) => void; onError: (phase: string, err: Error) => boolean; }; export type AutoloadResult = { address: string; abi: ABI; abiLoadedFrom?: ABILoader; contractResult?: ContractResult; proxies: ProxyResolver[]; followProxies?: (selector?: string) => Promise; isFactory?: boolean; hasCode: boolean; }; export type AutoloadConfig = { provider: AnyProvider; abiLoader?: ABILoader | false; signatureLookup?: SignatureLookup | false; onProgress?: (phase: string, ...args: any[]) => void; onError?: (phase: string, error: Error) => boolean | void; addressResolver?: (name: string) => Promise; followProxies?: boolean; loadContractResult?: boolean; enableExperimentalMetadata?: boolean; }; export declare function autoload(address: string, config: AutoloadConfig): Promise;