import Long from "long";
import { PublicClient, WalletClient, WebSocketTransport } from "viem";
import { ChainList } from "../chains";
import { Chain, EVMTransaction, NetworkConfig } from "../typings";
export declare const isEVMTx: (tx: unknown) => tx is EVMTransaction;
export declare const getAllowance: (chain: Chain, address: `0x${string}`, tokenContract: `0x${string}`, chainList: ChainList) => Promise<bigint>;
export declare const getERC20Contract: (tokenContract: `0x${string}`, client: WalletClient) => {
    read: {
        symbol: (options?: import("viem").Prettify<import("viem").UnionOmit<import("viem").ReadContractParameters<readonly [{
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "name";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_spender";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "approve";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "totalSupply";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_from";
                readonly type: "address";
            }, {
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transferFrom";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "decimals";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint8";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }];
            readonly name: "balanceOf";
            readonly outputs: readonly [{
                readonly name: "balance";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "symbol";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transfer";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }, {
                readonly name: "_spender";
                readonly type: "address";
            }];
            readonly name: "allowance";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly payable: true;
            readonly stateMutability: "payable";
            readonly type: "fallback";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "owner";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "spender";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Approval";
            readonly type: "event";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "from";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "to";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Transfer";
            readonly type: "event";
        }], "symbol", readonly []>, "address" | "abi" | "functionName" | "args">> | undefined) => Promise<string>;
        name: (options?: import("viem").Prettify<import("viem").UnionOmit<import("viem").ReadContractParameters<readonly [{
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "name";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_spender";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "approve";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "totalSupply";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_from";
                readonly type: "address";
            }, {
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transferFrom";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "decimals";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint8";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }];
            readonly name: "balanceOf";
            readonly outputs: readonly [{
                readonly name: "balance";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "symbol";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transfer";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }, {
                readonly name: "_spender";
                readonly type: "address";
            }];
            readonly name: "allowance";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly payable: true;
            readonly stateMutability: "payable";
            readonly type: "fallback";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "owner";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "spender";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Approval";
            readonly type: "event";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "from";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "to";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Transfer";
            readonly type: "event";
        }], "name", readonly []>, "address" | "abi" | "functionName" | "args">> | undefined) => Promise<string>;
        decimals: (options?: import("viem").Prettify<import("viem").UnionOmit<import("viem").ReadContractParameters<readonly [{
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "name";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_spender";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "approve";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "totalSupply";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_from";
                readonly type: "address";
            }, {
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transferFrom";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "decimals";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint8";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }];
            readonly name: "balanceOf";
            readonly outputs: readonly [{
                readonly name: "balance";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "symbol";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transfer";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }, {
                readonly name: "_spender";
                readonly type: "address";
            }];
            readonly name: "allowance";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly payable: true;
            readonly stateMutability: "payable";
            readonly type: "fallback";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "owner";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "spender";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Approval";
            readonly type: "event";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "from";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "to";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Transfer";
            readonly type: "event";
        }], "decimals", readonly []>, "address" | "abi" | "functionName" | "args">> | undefined) => Promise<number>;
        allowance: (args: readonly [`0x${string}`, `0x${string}`], options?: import("viem").Prettify<import("viem").UnionOmit<import("viem").ReadContractParameters<readonly [{
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "name";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_spender";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "approve";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "totalSupply";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_from";
                readonly type: "address";
            }, {
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transferFrom";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "decimals";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint8";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }];
            readonly name: "balanceOf";
            readonly outputs: readonly [{
                readonly name: "balance";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "symbol";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transfer";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }, {
                readonly name: "_spender";
                readonly type: "address";
            }];
            readonly name: "allowance";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly payable: true;
            readonly stateMutability: "payable";
            readonly type: "fallback";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "owner";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "spender";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Approval";
            readonly type: "event";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "from";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "to";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Transfer";
            readonly type: "event";
        }], "allowance", readonly [`0x${string}`, `0x${string}`]>, "address" | "abi" | "functionName" | "args">> | undefined) => Promise<bigint>;
        totalSupply: (options?: import("viem").Prettify<import("viem").UnionOmit<import("viem").ReadContractParameters<readonly [{
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "name";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_spender";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "approve";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "totalSupply";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_from";
                readonly type: "address";
            }, {
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transferFrom";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "decimals";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint8";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }];
            readonly name: "balanceOf";
            readonly outputs: readonly [{
                readonly name: "balance";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "symbol";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transfer";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }, {
                readonly name: "_spender";
                readonly type: "address";
            }];
            readonly name: "allowance";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly payable: true;
            readonly stateMutability: "payable";
            readonly type: "fallback";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "owner";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "spender";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Approval";
            readonly type: "event";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "from";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "to";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Transfer";
            readonly type: "event";
        }], "totalSupply", readonly []>, "address" | "abi" | "functionName" | "args">> | undefined) => Promise<bigint>;
        balanceOf: (args: readonly [`0x${string}`], options?: import("viem").Prettify<import("viem").UnionOmit<import("viem").ReadContractParameters<readonly [{
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "name";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_spender";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "approve";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "totalSupply";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_from";
                readonly type: "address";
            }, {
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transferFrom";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "decimals";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint8";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }];
            readonly name: "balanceOf";
            readonly outputs: readonly [{
                readonly name: "balance";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "symbol";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transfer";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }, {
                readonly name: "_spender";
                readonly type: "address";
            }];
            readonly name: "allowance";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly payable: true;
            readonly stateMutability: "payable";
            readonly type: "fallback";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "owner";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "spender";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Approval";
            readonly type: "event";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "from";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "to";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Transfer";
            readonly type: "event";
        }], "balanceOf", readonly [`0x${string}`]>, "address" | "abi" | "functionName" | "args">> | undefined) => Promise<bigint>;
    };
    estimateGas: {
        transfer: (args: readonly [`0x${string}`, bigint], options: import("viem").Prettify<import("viem").UnionOmit<import("viem").EstimateContractGasParameters<readonly [{
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "name";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_spender";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "approve";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "totalSupply";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_from";
                readonly type: "address";
            }, {
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transferFrom";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "decimals";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint8";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }];
            readonly name: "balanceOf";
            readonly outputs: readonly [{
                readonly name: "balance";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "symbol";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transfer";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }, {
                readonly name: "_spender";
                readonly type: "address";
            }];
            readonly name: "allowance";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly payable: true;
            readonly stateMutability: "payable";
            readonly type: "fallback";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "owner";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "spender";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Approval";
            readonly type: "event";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "from";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "to";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Transfer";
            readonly type: "event";
        }], "transfer", readonly [`0x${string}`, bigint], import("viem").Chain | undefined>, "address" | "abi" | "functionName" | "args">>) => Promise<import("viem").EstimateContractGasReturnType>;
        approve: (args: readonly [`0x${string}`, bigint], options: import("viem").Prettify<import("viem").UnionOmit<import("viem").EstimateContractGasParameters<readonly [{
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "name";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_spender";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "approve";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "totalSupply";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_from";
                readonly type: "address";
            }, {
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transferFrom";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "decimals";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint8";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }];
            readonly name: "balanceOf";
            readonly outputs: readonly [{
                readonly name: "balance";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "symbol";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transfer";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }, {
                readonly name: "_spender";
                readonly type: "address";
            }];
            readonly name: "allowance";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly payable: true;
            readonly stateMutability: "payable";
            readonly type: "fallback";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "owner";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "spender";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Approval";
            readonly type: "event";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "from";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "to";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Transfer";
            readonly type: "event";
        }], "approve", readonly [`0x${string}`, bigint], import("viem").Chain | undefined>, "address" | "abi" | "functionName" | "args">>) => Promise<import("viem").EstimateContractGasReturnType>;
        transferFrom: (args: readonly [`0x${string}`, `0x${string}`, bigint], options: import("viem").Prettify<import("viem").UnionOmit<import("viem").EstimateContractGasParameters<readonly [{
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "name";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_spender";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "approve";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "totalSupply";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_from";
                readonly type: "address";
            }, {
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transferFrom";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "decimals";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint8";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }];
            readonly name: "balanceOf";
            readonly outputs: readonly [{
                readonly name: "balance";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "symbol";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transfer";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }, {
                readonly name: "_spender";
                readonly type: "address";
            }];
            readonly name: "allowance";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly payable: true;
            readonly stateMutability: "payable";
            readonly type: "fallback";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "owner";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "spender";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Approval";
            readonly type: "event";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "from";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "to";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Transfer";
            readonly type: "event";
        }], "transferFrom", readonly [`0x${string}`, `0x${string}`, bigint], import("viem").Chain | undefined>, "address" | "abi" | "functionName" | "args">>) => Promise<import("viem").EstimateContractGasReturnType>;
    } & {
        transfer: (args: readonly [`0x${string}`, bigint], options: import("viem").Prettify<import("viem").UnionOmit<import("viem").EstimateContractGasParameters<readonly [{
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "name";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_spender";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "approve";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "totalSupply";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_from";
                readonly type: "address";
            }, {
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transferFrom";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "decimals";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint8";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }];
            readonly name: "balanceOf";
            readonly outputs: readonly [{
                readonly name: "balance";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "symbol";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transfer";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }, {
                readonly name: "_spender";
                readonly type: "address";
            }];
            readonly name: "allowance";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly payable: true;
            readonly stateMutability: "payable";
            readonly type: "fallback";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "owner";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "spender";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Approval";
            readonly type: "event";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "from";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "to";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Transfer";
            readonly type: "event";
        }], "transfer", readonly [`0x${string}`, bigint], import("viem").Chain | undefined>, "address" | "abi" | "functionName" | "args">>) => Promise<import("viem").EstimateContractGasReturnType>;
        approve: (args: readonly [`0x${string}`, bigint], options: import("viem").Prettify<import("viem").UnionOmit<import("viem").EstimateContractGasParameters<readonly [{
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "name";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_spender";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "approve";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "totalSupply";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_from";
                readonly type: "address";
            }, {
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transferFrom";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "decimals";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint8";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }];
            readonly name: "balanceOf";
            readonly outputs: readonly [{
                readonly name: "balance";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "symbol";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transfer";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }, {
                readonly name: "_spender";
                readonly type: "address";
            }];
            readonly name: "allowance";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly payable: true;
            readonly stateMutability: "payable";
            readonly type: "fallback";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "owner";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "spender";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Approval";
            readonly type: "event";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "from";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "to";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Transfer";
            readonly type: "event";
        }], "approve", readonly [`0x${string}`, bigint], import("viem").Chain | undefined>, "address" | "abi" | "functionName" | "args">>) => Promise<import("viem").EstimateContractGasReturnType>;
        transferFrom: (args: readonly [`0x${string}`, `0x${string}`, bigint], options: import("viem").Prettify<import("viem").UnionOmit<import("viem").EstimateContractGasParameters<readonly [{
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "name";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_spender";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "approve";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "totalSupply";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_from";
                readonly type: "address";
            }, {
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transferFrom";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "decimals";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint8";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }];
            readonly name: "balanceOf";
            readonly outputs: readonly [{
                readonly name: "balance";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "symbol";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transfer";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }, {
                readonly name: "_spender";
                readonly type: "address";
            }];
            readonly name: "allowance";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly payable: true;
            readonly stateMutability: "payable";
            readonly type: "fallback";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "owner";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "spender";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Approval";
            readonly type: "event";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "from";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "to";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Transfer";
            readonly type: "event";
        }], "transferFrom", readonly [`0x${string}`, `0x${string}`, bigint], import("viem").Chain | undefined>, "address" | "abi" | "functionName" | "args">>) => Promise<import("viem").EstimateContractGasReturnType>;
    };
    simulate: {
        transfer: <chainOverride extends import("viem").Chain | undefined = undefined, accountOverride extends import("viem").Account | import("abitype").Address | undefined = undefined>(args: readonly [`0x${string}`, bigint], options?: Omit<import("viem").SimulateContractParameters<readonly [{
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "name";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_spender";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "approve";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "totalSupply";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_from";
                readonly type: "address";
            }, {
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transferFrom";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "decimals";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint8";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }];
            readonly name: "balanceOf";
            readonly outputs: readonly [{
                readonly name: "balance";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "symbol";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transfer";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }, {
                readonly name: "_spender";
                readonly type: "address";
            }];
            readonly name: "allowance";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly payable: true;
            readonly stateMutability: "payable";
            readonly type: "fallback";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "owner";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "spender";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Approval";
            readonly type: "event";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "from";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "to";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Transfer";
            readonly type: "event";
        }], "transfer", readonly [`0x${string}`, bigint], import("viem").Chain | undefined, chainOverride, accountOverride>, "address" | "abi" | "functionName" | "args"> | undefined) => Promise<import("viem").SimulateContractReturnType<readonly [{
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "name";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_spender";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "approve";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "totalSupply";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_from";
                readonly type: "address";
            }, {
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transferFrom";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "decimals";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint8";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }];
            readonly name: "balanceOf";
            readonly outputs: readonly [{
                readonly name: "balance";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "symbol";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transfer";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }, {
                readonly name: "_spender";
                readonly type: "address";
            }];
            readonly name: "allowance";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly payable: true;
            readonly stateMutability: "payable";
            readonly type: "fallback";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "owner";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "spender";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Approval";
            readonly type: "event";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "from";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "to";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Transfer";
            readonly type: "event";
        }], "transfer", readonly [`0x${string}`, bigint], import("viem").Chain | undefined, import("viem").Account | undefined, chainOverride, accountOverride>>;
        approve: <chainOverride extends import("viem").Chain | undefined = undefined, accountOverride extends import("viem").Account | import("abitype").Address | undefined = undefined>(args: readonly [`0x${string}`, bigint], options?: Omit<import("viem").SimulateContractParameters<readonly [{
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "name";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_spender";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "approve";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "totalSupply";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_from";
                readonly type: "address";
            }, {
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transferFrom";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "decimals";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint8";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }];
            readonly name: "balanceOf";
            readonly outputs: readonly [{
                readonly name: "balance";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "symbol";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transfer";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }, {
                readonly name: "_spender";
                readonly type: "address";
            }];
            readonly name: "allowance";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly payable: true;
            readonly stateMutability: "payable";
            readonly type: "fallback";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "owner";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "spender";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Approval";
            readonly type: "event";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "from";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "to";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Transfer";
            readonly type: "event";
        }], "approve", readonly [`0x${string}`, bigint], import("viem").Chain | undefined, chainOverride, accountOverride>, "address" | "abi" | "functionName" | "args"> | undefined) => Promise<import("viem").SimulateContractReturnType<readonly [{
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "name";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_spender";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "approve";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "totalSupply";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_from";
                readonly type: "address";
            }, {
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transferFrom";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "decimals";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint8";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }];
            readonly name: "balanceOf";
            readonly outputs: readonly [{
                readonly name: "balance";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "symbol";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transfer";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }, {
                readonly name: "_spender";
                readonly type: "address";
            }];
            readonly name: "allowance";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly payable: true;
            readonly stateMutability: "payable";
            readonly type: "fallback";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "owner";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "spender";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Approval";
            readonly type: "event";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "from";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "to";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Transfer";
            readonly type: "event";
        }], "approve", readonly [`0x${string}`, bigint], import("viem").Chain | undefined, import("viem").Account | undefined, chainOverride, accountOverride>>;
        transferFrom: <chainOverride extends import("viem").Chain | undefined = undefined, accountOverride extends import("viem").Account | import("abitype").Address | undefined = undefined>(args: readonly [`0x${string}`, `0x${string}`, bigint], options?: Omit<import("viem").SimulateContractParameters<readonly [{
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "name";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_spender";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "approve";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "totalSupply";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_from";
                readonly type: "address";
            }, {
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transferFrom";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "decimals";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint8";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }];
            readonly name: "balanceOf";
            readonly outputs: readonly [{
                readonly name: "balance";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "symbol";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transfer";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }, {
                readonly name: "_spender";
                readonly type: "address";
            }];
            readonly name: "allowance";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly payable: true;
            readonly stateMutability: "payable";
            readonly type: "fallback";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "owner";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "spender";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Approval";
            readonly type: "event";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "from";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "to";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Transfer";
            readonly type: "event";
        }], "transferFrom", readonly [`0x${string}`, `0x${string}`, bigint], import("viem").Chain | undefined, chainOverride, accountOverride>, "address" | "abi" | "functionName" | "args"> | undefined) => Promise<import("viem").SimulateContractReturnType<readonly [{
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "name";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_spender";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "approve";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "totalSupply";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_from";
                readonly type: "address";
            }, {
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transferFrom";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "decimals";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint8";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }];
            readonly name: "balanceOf";
            readonly outputs: readonly [{
                readonly name: "balance";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "symbol";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transfer";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }, {
                readonly name: "_spender";
                readonly type: "address";
            }];
            readonly name: "allowance";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly payable: true;
            readonly stateMutability: "payable";
            readonly type: "fallback";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "owner";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "spender";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Approval";
            readonly type: "event";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "from";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "to";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Transfer";
            readonly type: "event";
        }], "transferFrom", readonly [`0x${string}`, `0x${string}`, bigint], import("viem").Chain | undefined, import("viem").Account | undefined, chainOverride, accountOverride>>;
    };
    createEventFilter: {
        Approval: <const args extends {
            owner?: `0x${string}` | `0x${string}`[] | null | undefined;
            spender?: `0x${string}` | `0x${string}`[] | null | undefined;
        } | undefined, strict extends boolean | undefined = undefined>(args: {
            owner?: `0x${string}` | `0x${string}`[] | null | undefined;
            spender?: `0x${string}` | `0x${string}`[] | null | undefined;
        } | ({
            owner?: `0x${string}` | `0x${string}`[] | null | undefined;
            spender?: `0x${string}` | `0x${string}`[] | null | undefined;
        } extends infer T ? T extends {
            owner?: `0x${string}` | `0x${string}`[] | null | undefined;
            spender?: `0x${string}` | `0x${string}`[] | null | undefined;
        } ? T extends args ? Readonly<args> : never : never : never), options?: ({
            fromBlock?: bigint | import("viem").BlockTag | undefined;
            toBlock?: bigint | import("viem").BlockTag | undefined;
        } & {
            strict?: strict | undefined;
        }) | undefined) => Promise<import("viem").CreateContractEventFilterReturnType<readonly [{
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "name";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_spender";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "approve";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "totalSupply";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_from";
                readonly type: "address";
            }, {
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transferFrom";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "decimals";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint8";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }];
            readonly name: "balanceOf";
            readonly outputs: readonly [{
                readonly name: "balance";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "symbol";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transfer";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }, {
                readonly name: "_spender";
                readonly type: "address";
            }];
            readonly name: "allowance";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly payable: true;
            readonly stateMutability: "payable";
            readonly type: "fallback";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "owner";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "spender";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Approval";
            readonly type: "event";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "from";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "to";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Transfer";
            readonly type: "event";
        }], "Approval", args, strict>>;
        Transfer: <const args extends {
            from?: `0x${string}` | `0x${string}`[] | null | undefined;
            to?: `0x${string}` | `0x${string}`[] | null | undefined;
        } | undefined, strict extends boolean | undefined = undefined>(args: {
            from?: `0x${string}` | `0x${string}`[] | null | undefined;
            to?: `0x${string}` | `0x${string}`[] | null | undefined;
        } | ({
            from?: `0x${string}` | `0x${string}`[] | null | undefined;
            to?: `0x${string}` | `0x${string}`[] | null | undefined;
        } extends infer T ? T extends {
            from?: `0x${string}` | `0x${string}`[] | null | undefined;
            to?: `0x${string}` | `0x${string}`[] | null | undefined;
        } ? T extends args ? Readonly<args> : never : never : never), options?: ({
            fromBlock?: bigint | import("viem").BlockTag | undefined;
            toBlock?: bigint | import("viem").BlockTag | undefined;
        } & {
            strict?: strict | undefined;
        }) | undefined) => Promise<import("viem").CreateContractEventFilterReturnType<readonly [{
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "name";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_spender";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "approve";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "totalSupply";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_from";
                readonly type: "address";
            }, {
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transferFrom";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "decimals";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint8";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }];
            readonly name: "balanceOf";
            readonly outputs: readonly [{
                readonly name: "balance";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "symbol";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transfer";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }, {
                readonly name: "_spender";
                readonly type: "address";
            }];
            readonly name: "allowance";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly payable: true;
            readonly stateMutability: "payable";
            readonly type: "fallback";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "owner";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "spender";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Approval";
            readonly type: "event";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "from";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "to";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Transfer";
            readonly type: "event";
        }], "Transfer", args, strict>>;
    };
    getEvents: {
        Approval: (args?: {
            owner?: `0x${string}` | `0x${string}`[] | null | undefined;
            spender?: `0x${string}` | `0x${string}`[] | null | undefined;
        } | undefined, options?: {
            strict?: boolean | undefined;
            blockHash?: `0x${string}` | undefined;
            fromBlock?: bigint | import("viem").BlockTag | undefined;
            toBlock?: bigint | import("viem").BlockTag | undefined;
        } | undefined) => Promise<import("viem").GetContractEventsReturnType<readonly [{
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "name";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_spender";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "approve";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "totalSupply";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_from";
                readonly type: "address";
            }, {
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transferFrom";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "decimals";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint8";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }];
            readonly name: "balanceOf";
            readonly outputs: readonly [{
                readonly name: "balance";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "symbol";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transfer";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }, {
                readonly name: "_spender";
                readonly type: "address";
            }];
            readonly name: "allowance";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly payable: true;
            readonly stateMutability: "payable";
            readonly type: "fallback";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "owner";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "spender";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Approval";
            readonly type: "event";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "from";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "to";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Transfer";
            readonly type: "event";
        }], "Approval">>;
        Transfer: (args?: {
            from?: `0x${string}` | `0x${string}`[] | null | undefined;
            to?: `0x${string}` | `0x${string}`[] | null | undefined;
        } | undefined, options?: {
            strict?: boolean | undefined;
            blockHash?: `0x${string}` | undefined;
            fromBlock?: bigint | import("viem").BlockTag | undefined;
            toBlock?: bigint | import("viem").BlockTag | undefined;
        } | undefined) => Promise<import("viem").GetContractEventsReturnType<readonly [{
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "name";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_spender";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "approve";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "totalSupply";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_from";
                readonly type: "address";
            }, {
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transferFrom";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "decimals";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint8";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }];
            readonly name: "balanceOf";
            readonly outputs: readonly [{
                readonly name: "balance";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "symbol";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transfer";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }, {
                readonly name: "_spender";
                readonly type: "address";
            }];
            readonly name: "allowance";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly payable: true;
            readonly stateMutability: "payable";
            readonly type: "fallback";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "owner";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "spender";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Approval";
            readonly type: "event";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "from";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "to";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Transfer";
            readonly type: "event";
        }], "Transfer">>;
    };
    watchEvent: {
        Approval: (args: {
            owner?: `0x${string}` | `0x${string}`[] | null | undefined;
            spender?: `0x${string}` | `0x${string}`[] | null | undefined;
        }, options: {
            batch?: boolean | undefined | undefined;
            pollingInterval?: number | undefined | undefined;
            strict?: boolean | undefined;
            fromBlock?: bigint | undefined;
            onError?: ((error: Error) => void) | undefined | undefined;
            onLogs: import("viem").WatchContractEventOnLogsFn<readonly [{
                readonly constant: true;
                readonly inputs: readonly [];
                readonly name: "name";
                readonly outputs: readonly [{
                    readonly name: "";
                    readonly type: "string";
                }];
                readonly payable: false;
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly constant: false;
                readonly inputs: readonly [{
                    readonly name: "_spender";
                    readonly type: "address";
                }, {
                    readonly name: "_value";
                    readonly type: "uint256";
                }];
                readonly name: "approve";
                readonly outputs: readonly [{
                    readonly name: "";
                    readonly type: "bool";
                }];
                readonly payable: false;
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly constant: true;
                readonly inputs: readonly [];
                readonly name: "totalSupply";
                readonly outputs: readonly [{
                    readonly name: "";
                    readonly type: "uint256";
                }];
                readonly payable: false;
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly constant: false;
                readonly inputs: readonly [{
                    readonly name: "_from";
                    readonly type: "address";
                }, {
                    readonly name: "_to";
                    readonly type: "address";
                }, {
                    readonly name: "_value";
                    readonly type: "uint256";
                }];
                readonly name: "transferFrom";
                readonly outputs: readonly [{
                    readonly name: "";
                    readonly type: "bool";
                }];
                readonly payable: false;
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly constant: true;
                readonly inputs: readonly [];
                readonly name: "decimals";
                readonly outputs: readonly [{
                    readonly name: "";
                    readonly type: "uint8";
                }];
                readonly payable: false;
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly constant: true;
                readonly inputs: readonly [{
                    readonly name: "_owner";
                    readonly type: "address";
                }];
                readonly name: "balanceOf";
                readonly outputs: readonly [{
                    readonly name: "balance";
                    readonly type: "uint256";
                }];
                readonly payable: false;
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly constant: true;
                readonly inputs: readonly [];
                readonly name: "symbol";
                readonly outputs: readonly [{
                    readonly name: "";
                    readonly type: "string";
                }];
                readonly payable: false;
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly constant: false;
                readonly inputs: readonly [{
                    readonly name: "_to";
                    readonly type: "address";
                }, {
                    readonly name: "_value";
                    readonly type: "uint256";
                }];
                readonly name: "transfer";
                readonly outputs: readonly [{
                    readonly name: "";
                    readonly type: "bool";
                }];
                readonly payable: false;
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly constant: true;
                readonly inputs: readonly [{
                    readonly name: "_owner";
                    readonly type: "address";
                }, {
                    readonly name: "_spender";
                    readonly type: "address";
                }];
                readonly name: "allowance";
                readonly outputs: readonly [{
                    readonly name: "";
                    readonly type: "uint256";
                }];
                readonly payable: false;
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly payable: true;
                readonly stateMutability: "payable";
                readonly type: "fallback";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: true;
                    readonly name: "owner";
                    readonly type: "address";
                }, {
                    readonly indexed: true;
                    readonly name: "spender";
                    readonly type: "address";
                }, {
                    readonly indexed: false;
                    readonly name: "value";
                    readonly type: "uint256";
                }];
                readonly name: "Approval";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: true;
                    readonly name: "from";
                    readonly type: "address";
                }, {
                    readonly indexed: true;
                    readonly name: "to";
                    readonly type: "address";
                }, {
                    readonly indexed: false;
                    readonly name: "value";
                    readonly type: "uint256";
                }];
                readonly name: "Transfer";
                readonly type: "event";
            }], "Approval", undefined>;
            poll?: true | undefined | undefined;
        }) => import("viem").WatchContractEventReturnType;
        Transfer: (args: {
            from?: `0x${string}` | `0x${string}`[] | null | undefined;
            to?: `0x${string}` | `0x${string}`[] | null | undefined;
        }, options: {
            batch?: boolean | undefined | undefined;
            pollingInterval?: number | undefined | undefined;
            strict?: boolean | undefined;
            fromBlock?: bigint | undefined;
            onError?: ((error: Error) => void) | undefined | undefined;
            onLogs: import("viem").WatchContractEventOnLogsFn<readonly [{
                readonly constant: true;
                readonly inputs: readonly [];
                readonly name: "name";
                readonly outputs: readonly [{
                    readonly name: "";
                    readonly type: "string";
                }];
                readonly payable: false;
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly constant: false;
                readonly inputs: readonly [{
                    readonly name: "_spender";
                    readonly type: "address";
                }, {
                    readonly name: "_value";
                    readonly type: "uint256";
                }];
                readonly name: "approve";
                readonly outputs: readonly [{
                    readonly name: "";
                    readonly type: "bool";
                }];
                readonly payable: false;
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly constant: true;
                readonly inputs: readonly [];
                readonly name: "totalSupply";
                readonly outputs: readonly [{
                    readonly name: "";
                    readonly type: "uint256";
                }];
                readonly payable: false;
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly constant: false;
                readonly inputs: readonly [{
                    readonly name: "_from";
                    readonly type: "address";
                }, {
                    readonly name: "_to";
                    readonly type: "address";
                }, {
                    readonly name: "_value";
                    readonly type: "uint256";
                }];
                readonly name: "transferFrom";
                readonly outputs: readonly [{
                    readonly name: "";
                    readonly type: "bool";
                }];
                readonly payable: false;
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly constant: true;
                readonly inputs: readonly [];
                readonly name: "decimals";
                readonly outputs: readonly [{
                    readonly name: "";
                    readonly type: "uint8";
                }];
                readonly payable: false;
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly constant: true;
                readonly inputs: readonly [{
                    readonly name: "_owner";
                    readonly type: "address";
                }];
                readonly name: "balanceOf";
                readonly outputs: readonly [{
                    readonly name: "balance";
                    readonly type: "uint256";
                }];
                readonly payable: false;
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly constant: true;
                readonly inputs: readonly [];
                readonly name: "symbol";
                readonly outputs: readonly [{
                    readonly name: "";
                    readonly type: "string";
                }];
                readonly payable: false;
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly constant: false;
                readonly inputs: readonly [{
                    readonly name: "_to";
                    readonly type: "address";
                }, {
                    readonly name: "_value";
                    readonly type: "uint256";
                }];
                readonly name: "transfer";
                readonly outputs: readonly [{
                    readonly name: "";
                    readonly type: "bool";
                }];
                readonly payable: false;
                readonly stateMutability: "nonpayable";
                readonly type: "function";
            }, {
                readonly constant: true;
                readonly inputs: readonly [{
                    readonly name: "_owner";
                    readonly type: "address";
                }, {
                    readonly name: "_spender";
                    readonly type: "address";
                }];
                readonly name: "allowance";
                readonly outputs: readonly [{
                    readonly name: "";
                    readonly type: "uint256";
                }];
                readonly payable: false;
                readonly stateMutability: "view";
                readonly type: "function";
            }, {
                readonly payable: true;
                readonly stateMutability: "payable";
                readonly type: "fallback";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: true;
                    readonly name: "owner";
                    readonly type: "address";
                }, {
                    readonly indexed: true;
                    readonly name: "spender";
                    readonly type: "address";
                }, {
                    readonly indexed: false;
                    readonly name: "value";
                    readonly type: "uint256";
                }];
                readonly name: "Approval";
                readonly type: "event";
            }, {
                readonly anonymous: false;
                readonly inputs: readonly [{
                    readonly indexed: true;
                    readonly name: "from";
                    readonly type: "address";
                }, {
                    readonly indexed: true;
                    readonly name: "to";
                    readonly type: "address";
                }, {
                    readonly indexed: false;
                    readonly name: "value";
                    readonly type: "uint256";
                }];
                readonly name: "Transfer";
                readonly type: "event";
            }], "Transfer", undefined>;
            poll?: true | undefined | undefined;
        }) => import("viem").WatchContractEventReturnType;
    };
    write: {
        transfer: <chainOverride extends import("viem").Chain | undefined, options extends import("viem").UnionOmit<import("viem").WriteContractParameters<readonly [{
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "name";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_spender";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "approve";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "totalSupply";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_from";
                readonly type: "address";
            }, {
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transferFrom";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "decimals";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint8";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }];
            readonly name: "balanceOf";
            readonly outputs: readonly [{
                readonly name: "balance";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "symbol";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transfer";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }, {
                readonly name: "_spender";
                readonly type: "address";
            }];
            readonly name: "allowance";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly payable: true;
            readonly stateMutability: "payable";
            readonly type: "fallback";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "owner";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "spender";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Approval";
            readonly type: "event";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "from";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "to";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Transfer";
            readonly type: "event";
        }], "transfer", readonly [`0x${string}`, bigint], import("viem").Chain | undefined, import("viem").Account | undefined, chainOverride>, "address" | "abi" | "functionName" | "args"> extends infer T ? { [K in keyof T]: import("viem").UnionOmit<import("viem").WriteContractParameters<readonly [{
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "name";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_spender";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "approve";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "totalSupply";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_from";
                readonly type: "address";
            }, {
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transferFrom";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "decimals";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint8";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }];
            readonly name: "balanceOf";
            readonly outputs: readonly [{
                readonly name: "balance";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "symbol";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transfer";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }, {
                readonly name: "_spender";
                readonly type: "address";
            }];
            readonly name: "allowance";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly payable: true;
            readonly stateMutability: "payable";
            readonly type: "fallback";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "owner";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "spender";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Approval";
            readonly type: "event";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "from";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "to";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Transfer";
            readonly type: "event";
        }], "transfer", readonly [`0x${string}`, bigint], import("viem").Chain | undefined, import("viem").Account | undefined, chainOverride>, "address" | "abi" | "functionName" | "args">[K]; } : never>(args: readonly [`0x${string}`, bigint], options: options) => Promise<import("viem").WriteContractReturnType>;
        approve: <chainOverride extends import("viem").Chain | undefined, options extends import("viem").UnionOmit<import("viem").WriteContractParameters<readonly [{
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "name";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_spender";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "approve";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "totalSupply";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_from";
                readonly type: "address";
            }, {
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transferFrom";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "decimals";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint8";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }];
            readonly name: "balanceOf";
            readonly outputs: readonly [{
                readonly name: "balance";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "symbol";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transfer";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }, {
                readonly name: "_spender";
                readonly type: "address";
            }];
            readonly name: "allowance";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly payable: true;
            readonly stateMutability: "payable";
            readonly type: "fallback";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "owner";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "spender";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Approval";
            readonly type: "event";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "from";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "to";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Transfer";
            readonly type: "event";
        }], "approve", readonly [`0x${string}`, bigint], import("viem").Chain | undefined, import("viem").Account | undefined, chainOverride>, "address" | "abi" | "functionName" | "args"> extends infer T ? { [K in keyof T]: import("viem").UnionOmit<import("viem").WriteContractParameters<readonly [{
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "name";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_spender";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "approve";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "totalSupply";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_from";
                readonly type: "address";
            }, {
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transferFrom";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "decimals";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint8";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }];
            readonly name: "balanceOf";
            readonly outputs: readonly [{
                readonly name: "balance";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "symbol";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transfer";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }, {
                readonly name: "_spender";
                readonly type: "address";
            }];
            readonly name: "allowance";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly payable: true;
            readonly stateMutability: "payable";
            readonly type: "fallback";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "owner";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "spender";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Approval";
            readonly type: "event";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "from";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "to";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Transfer";
            readonly type: "event";
        }], "approve", readonly [`0x${string}`, bigint], import("viem").Chain | undefined, import("viem").Account | undefined, chainOverride>, "address" | "abi" | "functionName" | "args">[K]; } : never>(args: readonly [`0x${string}`, bigint], options: options) => Promise<import("viem").WriteContractReturnType>;
        transferFrom: <chainOverride extends import("viem").Chain | undefined, options extends import("viem").UnionOmit<import("viem").WriteContractParameters<readonly [{
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "name";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_spender";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "approve";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "totalSupply";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_from";
                readonly type: "address";
            }, {
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transferFrom";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "decimals";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint8";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }];
            readonly name: "balanceOf";
            readonly outputs: readonly [{
                readonly name: "balance";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "symbol";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transfer";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }, {
                readonly name: "_spender";
                readonly type: "address";
            }];
            readonly name: "allowance";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly payable: true;
            readonly stateMutability: "payable";
            readonly type: "fallback";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "owner";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "spender";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Approval";
            readonly type: "event";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "from";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "to";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Transfer";
            readonly type: "event";
        }], "transferFrom", readonly [`0x${string}`, `0x${string}`, bigint], import("viem").Chain | undefined, import("viem").Account | undefined, chainOverride>, "address" | "abi" | "functionName" | "args"> extends infer T ? { [K in keyof T]: import("viem").UnionOmit<import("viem").WriteContractParameters<readonly [{
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "name";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_spender";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "approve";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "totalSupply";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_from";
                readonly type: "address";
            }, {
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transferFrom";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "decimals";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint8";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }];
            readonly name: "balanceOf";
            readonly outputs: readonly [{
                readonly name: "balance";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [];
            readonly name: "symbol";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "string";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly constant: false;
            readonly inputs: readonly [{
                readonly name: "_to";
                readonly type: "address";
            }, {
                readonly name: "_value";
                readonly type: "uint256";
            }];
            readonly name: "transfer";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "bool";
            }];
            readonly payable: false;
            readonly stateMutability: "nonpayable";
            readonly type: "function";
        }, {
            readonly constant: true;
            readonly inputs: readonly [{
                readonly name: "_owner";
                readonly type: "address";
            }, {
                readonly name: "_spender";
                readonly type: "address";
            }];
            readonly name: "allowance";
            readonly outputs: readonly [{
                readonly name: "";
                readonly type: "uint256";
            }];
            readonly payable: false;
            readonly stateMutability: "view";
            readonly type: "function";
        }, {
            readonly payable: true;
            readonly stateMutability: "payable";
            readonly type: "fallback";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "owner";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "spender";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Approval";
            readonly type: "event";
        }, {
            readonly anonymous: false;
            readonly inputs: readonly [{
                readonly indexed: true;
                readonly name: "from";
                readonly type: "address";
            }, {
                readonly indexed: true;
                readonly name: "to";
                readonly type: "address";
            }, {
                readonly indexed: false;
                readonly name: "value";
                readonly type: "uint256";
            }];
            readonly name: "Transfer";
            readonly type: "event";
        }], "transferFrom", readonly [`0x${string}`, `0x${string}`, bigint], import("viem").Chain | undefined, import("viem").Account | undefined, chainOverride>, "address" | "abi" | "functionName" | "args">[K]; } : never>(args: readonly [`0x${string}`, `0x${string}`, bigint], options: options) => Promise<import("viem").WriteContractReturnType>;
    };
    address: `0x${string}`;
    abi: readonly [{
        readonly constant: true;
        readonly inputs: readonly [];
        readonly name: "name";
        readonly outputs: readonly [{
            readonly name: "";
            readonly type: "string";
        }];
        readonly payable: false;
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly constant: false;
        readonly inputs: readonly [{
            readonly name: "_spender";
            readonly type: "address";
        }, {
            readonly name: "_value";
            readonly type: "uint256";
        }];
        readonly name: "approve";
        readonly outputs: readonly [{
            readonly name: "";
            readonly type: "bool";
        }];
        readonly payable: false;
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly constant: true;
        readonly inputs: readonly [];
        readonly name: "totalSupply";
        readonly outputs: readonly [{
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly payable: false;
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly constant: false;
        readonly inputs: readonly [{
            readonly name: "_from";
            readonly type: "address";
        }, {
            readonly name: "_to";
            readonly type: "address";
        }, {
            readonly name: "_value";
            readonly type: "uint256";
        }];
        readonly name: "transferFrom";
        readonly outputs: readonly [{
            readonly name: "";
            readonly type: "bool";
        }];
        readonly payable: false;
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly constant: true;
        readonly inputs: readonly [];
        readonly name: "decimals";
        readonly outputs: readonly [{
            readonly name: "";
            readonly type: "uint8";
        }];
        readonly payable: false;
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly constant: true;
        readonly inputs: readonly [{
            readonly name: "_owner";
            readonly type: "address";
        }];
        readonly name: "balanceOf";
        readonly outputs: readonly [{
            readonly name: "balance";
            readonly type: "uint256";
        }];
        readonly payable: false;
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly constant: true;
        readonly inputs: readonly [];
        readonly name: "symbol";
        readonly outputs: readonly [{
            readonly name: "";
            readonly type: "string";
        }];
        readonly payable: false;
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly constant: false;
        readonly inputs: readonly [{
            readonly name: "_to";
            readonly type: "address";
        }, {
            readonly name: "_value";
            readonly type: "uint256";
        }];
        readonly name: "transfer";
        readonly outputs: readonly [{
            readonly name: "";
            readonly type: "bool";
        }];
        readonly payable: false;
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly constant: true;
        readonly inputs: readonly [{
            readonly name: "_owner";
            readonly type: "address";
        }, {
            readonly name: "_spender";
            readonly type: "address";
        }];
        readonly name: "allowance";
        readonly outputs: readonly [{
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly payable: false;
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly payable: true;
        readonly stateMutability: "payable";
        readonly type: "fallback";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly name: "owner";
            readonly type: "address";
        }, {
            readonly indexed: true;
            readonly name: "spender";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly name: "value";
            readonly type: "uint256";
        }];
        readonly name: "Approval";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly name: "from";
            readonly type: "address";
        }, {
            readonly indexed: true;
            readonly name: "to";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly name: "value";
            readonly type: "uint256";
        }];
        readonly name: "Transfer";
        readonly type: "event";
    }];
};
export declare const getAllowances: (input: {
    chainID: number;
    tokenContract: `0x${string}`;
}[], address: `0x${string}`, chainList: ChainList) => Promise<{
    [k: number]: bigint;
}>;
export declare const waitForIntentFulfilment: (publicClient: PublicClient<WebSocketTransport>, vaultContractAddr: `0x${string}`, requestHash: `0x${string}`, ac: AbortController) => Promise<unknown>;
export declare const requestTimeout: (timeout: number, ac: AbortController) => Promise<unknown>;
export declare const getTokenTxFunction: (data: `0x${string}`) => {
    args: readonly [] | readonly [`0x${string}`, `0x${string}`] | readonly [`0x${string}`, bigint] | readonly [`0x${string}`, `0x${string}`, bigint] | readonly [`0x${string}`];
    functionName: "symbol" | "name" | "decimals" | "transfer" | "allowance" | "approve" | "totalSupply" | "transferFrom" | "balanceOf";
} | {
    args: never[];
    functionName: string;
};
export declare const setAllowances: (tokenContractAddresses: Array<`0x${string}`>, client: WalletClient, networkConfig: NetworkConfig, chainList: ChainList, chain: Chain, amount: bigint) => Promise<void>;
export declare const getL1Fee: (chain: Chain, input?: `0x${string}`) => Promise<bigint>;
declare const cosmosFillCheck: (intentID: Long, grpcURL: string, cosmosURL: string, ac: AbortController) => Promise<string>;
declare const waitForCosmosFillEvent: (intentID: Long, cosmosURL: string, ac: AbortController) => Promise<string>;
declare const waitForTxReceipt: (hash: `0x${string}`, publicClient: PublicClient) => Promise<void>;
declare const switchChain: (client: WalletClient, chain: Chain) => Promise<void>;
export { cosmosFillCheck, switchChain, waitForCosmosFillEvent, waitForTxReceipt, };
