import type { Address } from '../types.js'; import type { Abi, Chain as ViemChain, Client } from 'viem'; export type GetContractInput = { address: Address; abi?: Abi; } & ({ chain: ViemChain; client?: never; } | { chain?: never; client: Client; }); /** * Retrieves a contract instance using the provided address, ABI, and client. * * @param params - The input parameters for retrieving the contract. * @throws {Error} Throws an error if the ABI is not provided and cannot be found in the chain's contracts. * @returns The contract instance. */ export declare function getContract(params: GetContractInput): { read: { [x: string]: (...parameters: [options?: import("viem").Prettify, "address" | "abi" | "args" | "functionName">> | undefined] | [args: readonly unknown[], options?: import("viem").Prettify, "address" | "abi" | "args" | "functionName">> | undefined]) => Promise; }; estimateGas: { [x: string]: (...parameters: [options: import("viem").Prettify, "address" | "abi" | "args" | "functionName">>] | [args: readonly unknown[], options: import("viem").Prettify, "address" | "abi" | "args" | "functionName">>]) => Promise; } & { [x: string]: (...parameters: [options: import("viem").Prettify, "address" | "abi" | "args" | "functionName">>] | [args: readonly unknown[], options: import("viem").Prettify, "address" | "abi" | "args" | "functionName">>]) => Promise; }; simulate: { [x: string]: (...parameters: [options?: Omit, "address" | "abi" | "args" | "functionName"> | undefined] | [args: readonly unknown[], options?: Omit, "address" | "abi" | "args" | "functionName"> | undefined]) => Promise; }; createEventFilter: { [x: string]: (...parameters: [options?: ({ fromBlock?: bigint | import("viem").BlockTag | undefined; toBlock?: bigint | import("viem").BlockTag | undefined; } & { strict?: strict | undefined; }) | undefined] | [args: readonly unknown[] | { [x: string]: unknown; address?: undefined; abi?: undefined; eventName?: undefined; fromBlock?: undefined; strict?: undefined; toBlock?: undefined; args?: undefined; }, options?: ({ fromBlock?: bigint | import("viem").BlockTag | undefined; toBlock?: bigint | import("viem").BlockTag | undefined; } & { strict?: strict | undefined; }) | undefined]) => Promise; }; getEvents: { [x: string]: (...parameters: [options?: { strict?: boolean | undefined; blockHash?: `0x${string}` | undefined; fromBlock?: bigint | import("viem").BlockTag | undefined; toBlock?: bigint | import("viem").BlockTag | undefined; } | undefined] | [args?: readonly unknown[] | { [x: string]: unknown; address?: undefined; abi?: undefined; args?: undefined; eventName?: undefined; fromBlock?: undefined; onError?: undefined; onLogs?: undefined; strict?: undefined; poll?: undefined; batch?: undefined; pollingInterval?: undefined; } | undefined, options?: { strict?: boolean | undefined; blockHash?: `0x${string}` | undefined; fromBlock?: bigint | import("viem").BlockTag | undefined; toBlock?: bigint | import("viem").BlockTag | undefined; } | undefined]) => Promise>; }; watchEvent: { [x: string]: (...parameters: [options?: { strict?: boolean | undefined; batch?: boolean | undefined | undefined; pollingInterval?: number | undefined | undefined; fromBlock?: bigint | undefined; onError?: ((error: Error) => void) | undefined | undefined; onLogs: import("viem").WatchContractEventOnLogsFn; poll?: true | undefined | undefined; } | undefined] | [args: readonly unknown[] | { [x: string]: unknown; address?: undefined; abi?: undefined; args?: undefined; eventName?: undefined; fromBlock?: undefined; onError?: undefined; onLogs?: undefined; strict?: undefined; poll?: undefined; batch?: undefined; pollingInterval?: undefined; }, options?: { strict?: boolean | undefined; batch?: boolean | undefined | undefined; pollingInterval?: number | undefined | undefined; fromBlock?: bigint | undefined; onError?: ((error: Error) => void) | undefined | undefined; onLogs: import("viem").WatchContractEventOnLogsFn; poll?: true | undefined | undefined; } | undefined]) => import("viem").WatchContractEventReturnType; }; write: { [x: string]: , "address" | "abi" | "args" | "functionName"> extends infer T ? { [K in keyof T]: T[K]; } : never, Rest extends unknown[] = [options: options]>(...parameters: Rest | [args: readonly unknown[], ...parameters: Rest]) => Promise; }; address: `0x${string}`; abi: Abi; } | { read: { [x: string]: (...parameters: [options?: import("viem").Prettify, "address" | "abi" | "args" | "functionName">> | undefined] | [args: readonly unknown[], options?: import("viem").Prettify, "address" | "abi" | "args" | "functionName">> | undefined]) => Promise; }; estimateGas: { [x: string]: (...parameters: [options: import("viem").Prettify, "address" | "abi" | "args" | "functionName">>] | [args: readonly unknown[], options: import("viem").Prettify, "address" | "abi" | "args" | "functionName">>]) => Promise; } & { [x: string]: (...parameters: [options?: import("viem").Prettify, "address" | "abi" | "args" | "functionName">> | undefined] | [args: readonly unknown[], options?: import("viem").Prettify, "address" | "abi" | "args" | "functionName">> | undefined]) => Promise; }; simulate: { [x: string]: (...parameters: [options?: Omit, "address" | "abi" | "args" | "functionName"> | undefined] | [args: readonly unknown[], options?: Omit, "address" | "abi" | "args" | "functionName"> | undefined]) => Promise; }; createEventFilter: { [x: string]: (...parameters: [options?: ({ fromBlock?: bigint | import("viem").BlockTag | undefined; toBlock?: bigint | import("viem").BlockTag | undefined; } & { strict?: strict | undefined; }) | undefined] | [args: readonly unknown[] | { [x: string]: unknown; address?: undefined; abi?: undefined; eventName?: undefined; fromBlock?: undefined; strict?: undefined; toBlock?: undefined; args?: undefined; }, options?: ({ fromBlock?: bigint | import("viem").BlockTag | undefined; toBlock?: bigint | import("viem").BlockTag | undefined; } & { strict?: strict | undefined; }) | undefined]) => Promise; }; getEvents: { [x: string]: (...parameters: [options?: { strict?: boolean | undefined; blockHash?: `0x${string}` | undefined; fromBlock?: bigint | import("viem").BlockTag | undefined; toBlock?: bigint | import("viem").BlockTag | undefined; } | undefined] | [args?: readonly unknown[] | { [x: string]: unknown; address?: undefined; abi?: undefined; args?: undefined; eventName?: undefined; fromBlock?: undefined; onError?: undefined; onLogs?: undefined; strict?: undefined; poll?: undefined; batch?: undefined; pollingInterval?: undefined; } | undefined, options?: { strict?: boolean | undefined; blockHash?: `0x${string}` | undefined; fromBlock?: bigint | import("viem").BlockTag | undefined; toBlock?: bigint | import("viem").BlockTag | undefined; } | undefined]) => Promise>; }; watchEvent: { [x: string]: (...parameters: [options?: { strict?: boolean | undefined; batch?: boolean | undefined | undefined; pollingInterval?: number | undefined | undefined; fromBlock?: bigint | undefined; onError?: ((error: Error) => void) | undefined | undefined; onLogs: import("viem").WatchContractEventOnLogsFn; poll?: true | undefined | undefined; } | undefined] | [args: readonly unknown[] | { [x: string]: unknown; address?: undefined; abi?: undefined; args?: undefined; eventName?: undefined; fromBlock?: undefined; onError?: undefined; onLogs?: undefined; strict?: undefined; poll?: undefined; batch?: undefined; pollingInterval?: undefined; }, options?: { strict?: boolean | undefined; batch?: boolean | undefined | undefined; pollingInterval?: number | undefined | undefined; fromBlock?: bigint | undefined; onError?: ((error: Error) => void) | undefined | undefined; onLogs: import("viem").WatchContractEventOnLogsFn; poll?: true | undefined | undefined; } | undefined]) => import("viem").WatchContractEventReturnType; }; write: { [x: string]: , "address" | "abi" | "args" | "functionName"> extends infer T ? { [K in keyof T]: T[K]; } : never, Rest extends unknown[] = [options?: options | undefined]>(...parameters: Rest | [args: readonly unknown[], ...parameters: Rest]) => Promise; }; address: `0x${string}`; abi: Abi; } | { read: { [x: string]: (...parameters: [options?: import("viem").Prettify, "address" | "abi" | "args" | "functionName">> | undefined] | [args: readonly unknown[], options?: import("viem").Prettify, "address" | "abi" | "args" | "functionName">> | undefined]) => Promise; }; estimateGas: { [x: string]: (...parameters: [options: import("viem").Prettify, "address" | "abi" | "args" | "functionName">>] | [args: readonly unknown[], options: import("viem").Prettify, "address" | "abi" | "args" | "functionName">>]) => Promise; } & { [x: string]: (...parameters: [options: import("viem").Prettify, "address" | "abi" | "args" | "functionName">>] | [args: readonly unknown[], options: import("viem").Prettify, "address" | "abi" | "args" | "functionName">>]) => Promise; }; simulate: { [x: string]: (...parameters: [options?: Omit, "address" | "abi" | "args" | "functionName"> | undefined] | [args: readonly unknown[], options?: Omit, "address" | "abi" | "args" | "functionName"> | undefined]) => Promise; }; createEventFilter: { [x: string]: (...parameters: [options?: ({ fromBlock?: bigint | import("viem").BlockTag | undefined; toBlock?: bigint | import("viem").BlockTag | undefined; } & { strict?: strict | undefined; }) | undefined] | [args: readonly unknown[] | { [x: string]: unknown; address?: undefined; abi?: undefined; eventName?: undefined; fromBlock?: undefined; strict?: undefined; toBlock?: undefined; args?: undefined; }, options?: ({ fromBlock?: bigint | import("viem").BlockTag | undefined; toBlock?: bigint | import("viem").BlockTag | undefined; } & { strict?: strict | undefined; }) | undefined]) => Promise; }; getEvents: { [x: string]: (...parameters: [options?: { strict?: boolean | undefined; blockHash?: `0x${string}` | undefined; fromBlock?: bigint | import("viem").BlockTag | undefined; toBlock?: bigint | import("viem").BlockTag | undefined; } | undefined] | [args?: readonly unknown[] | { [x: string]: unknown; address?: undefined; abi?: undefined; args?: undefined; eventName?: undefined; fromBlock?: undefined; onError?: undefined; onLogs?: undefined; strict?: undefined; poll?: undefined; batch?: undefined; pollingInterval?: undefined; } | undefined, options?: { strict?: boolean | undefined; blockHash?: `0x${string}` | undefined; fromBlock?: bigint | import("viem").BlockTag | undefined; toBlock?: bigint | import("viem").BlockTag | undefined; } | undefined]) => Promise>; }; watchEvent: { [x: string]: (...parameters: [options?: { strict?: boolean | undefined; batch?: boolean | undefined | undefined; pollingInterval?: number | undefined | undefined; fromBlock?: bigint | undefined; onError?: ((error: Error) => void) | undefined | undefined; onLogs: import("viem").WatchContractEventOnLogsFn; poll?: true | undefined | undefined; } | undefined] | [args: readonly unknown[] | { [x: string]: unknown; address?: undefined; abi?: undefined; args?: undefined; eventName?: undefined; fromBlock?: undefined; onError?: undefined; onLogs?: undefined; strict?: undefined; poll?: undefined; batch?: undefined; pollingInterval?: undefined; }, options?: { strict?: boolean | undefined; batch?: boolean | undefined | undefined; pollingInterval?: number | undefined | undefined; fromBlock?: bigint | undefined; onError?: ((error: Error) => void) | undefined | undefined; onLogs: import("viem").WatchContractEventOnLogsFn; poll?: true | undefined | undefined; } | undefined]) => import("viem").WatchContractEventReturnType; }; write: { [x: string]: , "address" | "abi" | "args" | "functionName"> extends infer T ? { [K in keyof T]: T[K]; } : never, Rest extends unknown[] = [options: options]>(...parameters: Rest | [args: readonly unknown[], ...parameters: Rest]) => Promise; }; address: `0x${string}`; abi: Abi; } | { read: { [x: string]: (...parameters: [options?: import("viem").Prettify, "address" | "abi" | "args" | "functionName">> | undefined] | [args: readonly unknown[], options?: import("viem").Prettify, "address" | "abi" | "args" | "functionName">> | undefined]) => Promise; }; estimateGas: { [x: string]: (...parameters: [options: import("viem").Prettify, "address" | "abi" | "args" | "functionName">>] | [args: readonly unknown[], options: import("viem").Prettify, "address" | "abi" | "args" | "functionName">>]) => Promise; } & { [x: string]: (...parameters: [options?: import("viem").Prettify, "address" | "abi" | "args" | "functionName">> | undefined] | [args: readonly unknown[], options?: import("viem").Prettify, "address" | "abi" | "args" | "functionName">> | undefined]) => Promise; }; simulate: { [x: string]: (...parameters: [options?: Omit, "address" | "abi" | "args" | "functionName"> | undefined] | [args: readonly unknown[], options?: Omit, "address" | "abi" | "args" | "functionName"> | undefined]) => Promise; }; createEventFilter: { [x: string]: (...parameters: [options?: ({ fromBlock?: bigint | import("viem").BlockTag | undefined; toBlock?: bigint | import("viem").BlockTag | undefined; } & { strict?: strict | undefined; }) | undefined] | [args: readonly unknown[] | { [x: string]: unknown; address?: undefined; abi?: undefined; eventName?: undefined; fromBlock?: undefined; strict?: undefined; toBlock?: undefined; args?: undefined; }, options?: ({ fromBlock?: bigint | import("viem").BlockTag | undefined; toBlock?: bigint | import("viem").BlockTag | undefined; } & { strict?: strict | undefined; }) | undefined]) => Promise; }; getEvents: { [x: string]: (...parameters: [options?: { strict?: boolean | undefined; blockHash?: `0x${string}` | undefined; fromBlock?: bigint | import("viem").BlockTag | undefined; toBlock?: bigint | import("viem").BlockTag | undefined; } | undefined] | [args?: readonly unknown[] | { [x: string]: unknown; address?: undefined; abi?: undefined; args?: undefined; eventName?: undefined; fromBlock?: undefined; onError?: undefined; onLogs?: undefined; strict?: undefined; poll?: undefined; batch?: undefined; pollingInterval?: undefined; } | undefined, options?: { strict?: boolean | undefined; blockHash?: `0x${string}` | undefined; fromBlock?: bigint | import("viem").BlockTag | undefined; toBlock?: bigint | import("viem").BlockTag | undefined; } | undefined]) => Promise>; }; watchEvent: { [x: string]: (...parameters: [options?: { strict?: boolean | undefined; batch?: boolean | undefined | undefined; pollingInterval?: number | undefined | undefined; fromBlock?: bigint | undefined; onError?: ((error: Error) => void) | undefined | undefined; onLogs: import("viem").WatchContractEventOnLogsFn; poll?: true | undefined | undefined; } | undefined] | [args: readonly unknown[] | { [x: string]: unknown; address?: undefined; abi?: undefined; args?: undefined; eventName?: undefined; fromBlock?: undefined; onError?: undefined; onLogs?: undefined; strict?: undefined; poll?: undefined; batch?: undefined; pollingInterval?: undefined; }, options?: { strict?: boolean | undefined; batch?: boolean | undefined | undefined; pollingInterval?: number | undefined | undefined; fromBlock?: bigint | undefined; onError?: ((error: Error) => void) | undefined | undefined; onLogs: import("viem").WatchContractEventOnLogsFn; poll?: true | undefined | undefined; } | undefined]) => import("viem").WatchContractEventReturnType; }; write: { [x: string]: , "address" | "abi" | "args" | "functionName"> extends infer T ? { [K in keyof T]: T[K]; } : never, Rest extends unknown[] = [options?: options | undefined]>(...parameters: Rest | [args: readonly unknown[], ...parameters: Rest]) => Promise; }; address: `0x${string}`; abi: Abi; };