/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
import type {
  BaseContract,
  BigNumberish,
  BytesLike,
  FunctionFragment,
  Result,
  Interface,
  AddressLike,
  ContractRunner,
  ContractMethod,
  Listener,
} from "ethers";
import type {
  TypedContractEvent,
  TypedDeferredTopicFilter,
  TypedEventLog,
  TypedListener,
  TypedContractMethod,
} from "../common";

export declare namespace VmSafe {
  export type AccessListItemStruct = {
    target: AddressLike;
    storageKeys: BytesLike[];
  };

  export type AccessListItemStructOutput = [
    target: string,
    storageKeys: string[]
  ] & { target: string; storageKeys: string[] };

  export type PotentialRevertStruct = {
    reverter: AddressLike;
    partialMatch: boolean;
    revertData: BytesLike;
  };

  export type PotentialRevertStructOutput = [
    reverter: string,
    partialMatch: boolean,
    revertData: string
  ] & { reverter: string; partialMatch: boolean; revertData: string };

  export type SignedDelegationStruct = {
    v: BigNumberish;
    r: BytesLike;
    s: BytesLike;
    nonce: BigNumberish;
    implementation: AddressLike;
  };

  export type SignedDelegationStructOutput = [
    v: bigint,
    r: string,
    s: string,
    nonce: bigint,
    implementation: string
  ] & {
    v: bigint;
    r: string;
    s: string;
    nonce: bigint;
    implementation: string;
  };

  export type WalletStruct = {
    addr: AddressLike;
    publicKeyX: BigNumberish;
    publicKeyY: BigNumberish;
    privateKey: BigNumberish;
  };

  export type WalletStructOutput = [
    addr: string,
    publicKeyX: bigint,
    publicKeyY: bigint,
    privateKey: bigint
  ] & {
    addr: string;
    publicKeyX: bigint;
    publicKeyY: bigint;
    privateKey: bigint;
  };

  export type EthGetLogsStruct = {
    emitter: AddressLike;
    topics: BytesLike[];
    data: BytesLike;
    blockHash: BytesLike;
    blockNumber: BigNumberish;
    transactionHash: BytesLike;
    transactionIndex: BigNumberish;
    logIndex: BigNumberish;
    removed: boolean;
  };

  export type EthGetLogsStructOutput = [
    emitter: string,
    topics: string[],
    data: string,
    blockHash: string,
    blockNumber: bigint,
    transactionHash: string,
    transactionIndex: bigint,
    logIndex: bigint,
    removed: boolean
  ] & {
    emitter: string;
    topics: string[];
    data: string;
    blockHash: string;
    blockNumber: bigint;
    transactionHash: string;
    transactionIndex: bigint;
    logIndex: bigint;
    removed: boolean;
  };

  export type FsMetadataStruct = {
    isDir: boolean;
    isSymlink: boolean;
    length: BigNumberish;
    readOnly: boolean;
    modified: BigNumberish;
    accessed: BigNumberish;
    created: BigNumberish;
  };

  export type FsMetadataStructOutput = [
    isDir: boolean,
    isSymlink: boolean,
    length: bigint,
    readOnly: boolean,
    modified: bigint,
    accessed: bigint,
    created: bigint
  ] & {
    isDir: boolean;
    isSymlink: boolean;
    length: bigint;
    readOnly: boolean;
    modified: bigint;
    accessed: bigint;
    created: bigint;
  };

  export type BroadcastTxSummaryStruct = {
    txHash: BytesLike;
    txType: BigNumberish;
    contractAddress: AddressLike;
    blockNumber: BigNumberish;
    success: boolean;
  };

  export type BroadcastTxSummaryStructOutput = [
    txHash: string,
    txType: bigint,
    contractAddress: string,
    blockNumber: bigint,
    success: boolean
  ] & {
    txHash: string;
    txType: bigint;
    contractAddress: string;
    blockNumber: bigint;
    success: boolean;
  };

  export type ChainStruct = {
    name: string;
    chainId: BigNumberish;
    chainAlias: string;
    rpcUrl: string;
  };

  export type ChainStructOutput = [
    name: string,
    chainId: bigint,
    chainAlias: string,
    rpcUrl: string
  ] & { name: string; chainId: bigint; chainAlias: string; rpcUrl: string };

  export type LogStruct = {
    topics: BytesLike[];
    data: BytesLike;
    emitter: AddressLike;
  };

  export type LogStructOutput = [
    topics: string[],
    data: string,
    emitter: string
  ] & { topics: string[]; data: string; emitter: string };

  export type GasStruct = {
    gasLimit: BigNumberish;
    gasTotalUsed: BigNumberish;
    gasMemoryUsed: BigNumberish;
    gasRefunded: BigNumberish;
    gasRemaining: BigNumberish;
  };

  export type GasStructOutput = [
    gasLimit: bigint,
    gasTotalUsed: bigint,
    gasMemoryUsed: bigint,
    gasRefunded: bigint,
    gasRemaining: bigint
  ] & {
    gasLimit: bigint;
    gasTotalUsed: bigint;
    gasMemoryUsed: bigint;
    gasRefunded: bigint;
    gasRemaining: bigint;
  };

  export type DirEntryStruct = {
    errorMessage: string;
    path: string;
    depth: BigNumberish;
    isDir: boolean;
    isSymlink: boolean;
  };

  export type DirEntryStructOutput = [
    errorMessage: string,
    path: string,
    depth: bigint,
    isDir: boolean,
    isSymlink: boolean
  ] & {
    errorMessage: string;
    path: string;
    depth: bigint;
    isDir: boolean;
    isSymlink: boolean;
  };

  export type RpcStruct = { key: string; url: string };

  export type RpcStructOutput = [key: string, url: string] & {
    key: string;
    url: string;
  };

  export type DebugStepStruct = {
    stack: BigNumberish[];
    memoryInput: BytesLike;
    opcode: BigNumberish;
    depth: BigNumberish;
    isOutOfGas: boolean;
    contractAddr: AddressLike;
  };

  export type DebugStepStructOutput = [
    stack: bigint[],
    memoryInput: string,
    opcode: bigint,
    depth: bigint,
    isOutOfGas: boolean,
    contractAddr: string
  ] & {
    stack: bigint[];
    memoryInput: string;
    opcode: bigint;
    depth: bigint;
    isOutOfGas: boolean;
    contractAddr: string;
  };

  export type ChainInfoStruct = { forkId: BigNumberish; chainId: BigNumberish };

  export type ChainInfoStructOutput = [forkId: bigint, chainId: bigint] & {
    forkId: bigint;
    chainId: bigint;
  };

  export type StorageAccessStruct = {
    account: AddressLike;
    slot: BytesLike;
    isWrite: boolean;
    previousValue: BytesLike;
    newValue: BytesLike;
    reverted: boolean;
  };

  export type StorageAccessStructOutput = [
    account: string,
    slot: string,
    isWrite: boolean,
    previousValue: string,
    newValue: string,
    reverted: boolean
  ] & {
    account: string;
    slot: string;
    isWrite: boolean;
    previousValue: string;
    newValue: string;
    reverted: boolean;
  };

  export type AccountAccessStruct = {
    chainInfo: VmSafe.ChainInfoStruct;
    kind: BigNumberish;
    account: AddressLike;
    accessor: AddressLike;
    initialized: boolean;
    oldBalance: BigNumberish;
    newBalance: BigNumberish;
    deployedCode: BytesLike;
    value: BigNumberish;
    data: BytesLike;
    reverted: boolean;
    storageAccesses: VmSafe.StorageAccessStruct[];
    depth: BigNumberish;
  };

  export type AccountAccessStructOutput = [
    chainInfo: VmSafe.ChainInfoStructOutput,
    kind: bigint,
    account: string,
    accessor: string,
    initialized: boolean,
    oldBalance: bigint,
    newBalance: bigint,
    deployedCode: string,
    value: bigint,
    data: string,
    reverted: boolean,
    storageAccesses: VmSafe.StorageAccessStructOutput[],
    depth: bigint
  ] & {
    chainInfo: VmSafe.ChainInfoStructOutput;
    kind: bigint;
    account: string;
    accessor: string;
    initialized: boolean;
    oldBalance: bigint;
    newBalance: bigint;
    deployedCode: string;
    value: bigint;
    data: string;
    reverted: boolean;
    storageAccesses: VmSafe.StorageAccessStructOutput[];
    depth: bigint;
  };

  export type FfiResultStruct = {
    exitCode: BigNumberish;
    stdout: BytesLike;
    stderr: BytesLike;
  };

  export type FfiResultStructOutput = [
    exitCode: bigint,
    stdout: string,
    stderr: string
  ] & { exitCode: bigint; stdout: string; stderr: string };
}

export interface VmInterface extends Interface {
  getFunction(
    nameOrSignature:
      | "accessList"
      | "accesses"
      | "activeFork"
      | "addr"
      | "allowCheatcodes"
      | "assertApproxEqAbs(uint256,uint256,uint256)"
      | "assertApproxEqAbs(int256,int256,uint256)"
      | "assertApproxEqAbs(int256,int256,uint256,string)"
      | "assertApproxEqAbs(uint256,uint256,uint256,string)"
      | "assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256)"
      | "assertApproxEqAbsDecimal(int256,int256,uint256,uint256)"
      | "assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256,string)"
      | "assertApproxEqAbsDecimal(int256,int256,uint256,uint256,string)"
      | "assertApproxEqRel(uint256,uint256,uint256,string)"
      | "assertApproxEqRel(uint256,uint256,uint256)"
      | "assertApproxEqRel(int256,int256,uint256,string)"
      | "assertApproxEqRel(int256,int256,uint256)"
      | "assertApproxEqRelDecimal(uint256,uint256,uint256,uint256)"
      | "assertApproxEqRelDecimal(uint256,uint256,uint256,uint256,string)"
      | "assertApproxEqRelDecimal(int256,int256,uint256,uint256)"
      | "assertApproxEqRelDecimal(int256,int256,uint256,uint256,string)"
      | "assertEq(bytes32[],bytes32[])"
      | "assertEq(int256[],int256[],string)"
      | "assertEq(address,address,string)"
      | "assertEq(string,string,string)"
      | "assertEq(address[],address[])"
      | "assertEq(address[],address[],string)"
      | "assertEq(bool,bool,string)"
      | "assertEq(address,address)"
      | "assertEq(uint256[],uint256[],string)"
      | "assertEq(bool[],bool[])"
      | "assertEq(int256[],int256[])"
      | "assertEq(int256,int256,string)"
      | "assertEq(bytes32,bytes32)"
      | "assertEq(uint256,uint256,string)"
      | "assertEq(uint256[],uint256[])"
      | "assertEq(bytes,bytes)"
      | "assertEq(uint256,uint256)"
      | "assertEq(bytes32,bytes32,string)"
      | "assertEq(string[],string[])"
      | "assertEq(bytes32[],bytes32[],string)"
      | "assertEq(bytes,bytes,string)"
      | "assertEq(bool[],bool[],string)"
      | "assertEq(bytes[],bytes[])"
      | "assertEq(string[],string[],string)"
      | "assertEq(string,string)"
      | "assertEq(bytes[],bytes[],string)"
      | "assertEq(bool,bool)"
      | "assertEq(int256,int256)"
      | "assertEqDecimal(uint256,uint256,uint256)"
      | "assertEqDecimal(int256,int256,uint256)"
      | "assertEqDecimal(int256,int256,uint256,string)"
      | "assertEqDecimal(uint256,uint256,uint256,string)"
      | "assertFalse(bool,string)"
      | "assertFalse(bool)"
      | "assertGe(int256,int256)"
      | "assertGe(int256,int256,string)"
      | "assertGe(uint256,uint256)"
      | "assertGe(uint256,uint256,string)"
      | "assertGeDecimal(uint256,uint256,uint256)"
      | "assertGeDecimal(int256,int256,uint256,string)"
      | "assertGeDecimal(uint256,uint256,uint256,string)"
      | "assertGeDecimal(int256,int256,uint256)"
      | "assertGt(int256,int256)"
      | "assertGt(uint256,uint256,string)"
      | "assertGt(uint256,uint256)"
      | "assertGt(int256,int256,string)"
      | "assertGtDecimal(int256,int256,uint256,string)"
      | "assertGtDecimal(uint256,uint256,uint256,string)"
      | "assertGtDecimal(int256,int256,uint256)"
      | "assertGtDecimal(uint256,uint256,uint256)"
      | "assertLe(int256,int256,string)"
      | "assertLe(uint256,uint256)"
      | "assertLe(int256,int256)"
      | "assertLe(uint256,uint256,string)"
      | "assertLeDecimal(int256,int256,uint256)"
      | "assertLeDecimal(uint256,uint256,uint256,string)"
      | "assertLeDecimal(int256,int256,uint256,string)"
      | "assertLeDecimal(uint256,uint256,uint256)"
      | "assertLt(int256,int256)"
      | "assertLt(uint256,uint256,string)"
      | "assertLt(int256,int256,string)"
      | "assertLt(uint256,uint256)"
      | "assertLtDecimal(uint256,uint256,uint256)"
      | "assertLtDecimal(int256,int256,uint256,string)"
      | "assertLtDecimal(uint256,uint256,uint256,string)"
      | "assertLtDecimal(int256,int256,uint256)"
      | "assertNotEq(bytes32[],bytes32[])"
      | "assertNotEq(int256[],int256[])"
      | "assertNotEq(bool,bool,string)"
      | "assertNotEq(bytes[],bytes[],string)"
      | "assertNotEq(bool,bool)"
      | "assertNotEq(bool[],bool[])"
      | "assertNotEq(bytes,bytes)"
      | "assertNotEq(address[],address[])"
      | "assertNotEq(int256,int256,string)"
      | "assertNotEq(uint256[],uint256[])"
      | "assertNotEq(bool[],bool[],string)"
      | "assertNotEq(string,string)"
      | "assertNotEq(address[],address[],string)"
      | "assertNotEq(string,string,string)"
      | "assertNotEq(address,address,string)"
      | "assertNotEq(bytes32,bytes32)"
      | "assertNotEq(bytes,bytes,string)"
      | "assertNotEq(uint256,uint256,string)"
      | "assertNotEq(uint256[],uint256[],string)"
      | "assertNotEq(address,address)"
      | "assertNotEq(bytes32,bytes32,string)"
      | "assertNotEq(string[],string[],string)"
      | "assertNotEq(uint256,uint256)"
      | "assertNotEq(bytes32[],bytes32[],string)"
      | "assertNotEq(string[],string[])"
      | "assertNotEq(int256[],int256[],string)"
      | "assertNotEq(bytes[],bytes[])"
      | "assertNotEq(int256,int256)"
      | "assertNotEqDecimal(int256,int256,uint256)"
      | "assertNotEqDecimal(int256,int256,uint256,string)"
      | "assertNotEqDecimal(uint256,uint256,uint256)"
      | "assertNotEqDecimal(uint256,uint256,uint256,string)"
      | "assertTrue(bool)"
      | "assertTrue(bool,string)"
      | "assume"
      | "assumeNoRevert()"
      | "assumeNoRevert((address,bool,bytes)[])"
      | "assumeNoRevert((address,bool,bytes))"
      | "attachBlob"
      | "attachDelegation"
      | "blobBaseFee"
      | "blobhashes"
      | "breakpoint(string)"
      | "breakpoint(string,bool)"
      | "broadcast()"
      | "broadcast(address)"
      | "broadcast(uint256)"
      | "broadcastRawTransaction"
      | "chainId"
      | "clearMockedCalls"
      | "cloneAccount"
      | "closeFile"
      | "coinbase"
      | "computeCreate2Address(bytes32,bytes32)"
      | "computeCreate2Address(bytes32,bytes32,address)"
      | "computeCreateAddress"
      | "contains"
      | "cool"
      | "coolSlot"
      | "copyFile"
      | "copyStorage"
      | "createDir"
      | "createFork(string)"
      | "createFork(string,uint256)"
      | "createFork(string,bytes32)"
      | "createSelectFork(string,uint256)"
      | "createSelectFork(string,bytes32)"
      | "createSelectFork(string)"
      | "createWallet(string)"
      | "createWallet(uint256)"
      | "createWallet(uint256,string)"
      | "deal"
      | "deleteSnapshot"
      | "deleteSnapshots"
      | "deleteStateSnapshot"
      | "deleteStateSnapshots"
      | "deployCode(string,uint256,bytes32)"
      | "deployCode(string,bytes,bytes32)"
      | "deployCode(string,uint256)"
      | "deployCode(string,bytes32)"
      | "deployCode(string,bytes)"
      | "deployCode(string,bytes,uint256,bytes32)"
      | "deployCode(string)"
      | "deployCode(string,bytes,uint256)"
      | "deriveKey(string,string,uint32,string)"
      | "deriveKey(string,uint32,string)"
      | "deriveKey(string,uint32)"
      | "deriveKey(string,string,uint32)"
      | "difficulty"
      | "dumpState"
      | "ensNamehash"
      | "envAddress(string)"
      | "envAddress(string,string)"
      | "envBool(string)"
      | "envBool(string,string)"
      | "envBytes(string)"
      | "envBytes(string,string)"
      | "envBytes32(string,string)"
      | "envBytes32(string)"
      | "envExists"
      | "envInt(string,string)"
      | "envInt(string)"
      | "envOr(string,string,bytes32[])"
      | "envOr(string,string,int256[])"
      | "envOr(string,bool)"
      | "envOr(string,address)"
      | "envOr(string,uint256)"
      | "envOr(string,string,bytes[])"
      | "envOr(string,string,uint256[])"
      | "envOr(string,string,string[])"
      | "envOr(string,bytes)"
      | "envOr(string,bytes32)"
      | "envOr(string,int256)"
      | "envOr(string,string,address[])"
      | "envOr(string,string)"
      | "envOr(string,string,bool[])"
      | "envString(string,string)"
      | "envString(string)"
      | "envUint(string)"
      | "envUint(string,string)"
      | "etch"
      | "eth_getLogs"
      | "exists"
      | "expectCall(address,uint256,uint64,bytes)"
      | "expectCall(address,uint256,uint64,bytes,uint64)"
      | "expectCall(address,uint256,bytes,uint64)"
      | "expectCall(address,bytes)"
      | "expectCall(address,bytes,uint64)"
      | "expectCall(address,uint256,bytes)"
      | "expectCallMinGas(address,uint256,uint64,bytes)"
      | "expectCallMinGas(address,uint256,uint64,bytes,uint64)"
      | "expectCreate"
      | "expectCreate2"
      | "expectEmit()"
      | "expectEmit(bool,bool,bool,bool)"
      | "expectEmit(uint64)"
      | "expectEmit(bool,bool,bool,bool,uint64)"
      | "expectEmit(bool,bool,bool,bool,address)"
      | "expectEmit(address)"
      | "expectEmit(address,uint64)"
      | "expectEmit(bool,bool,bool,bool,address,uint64)"
      | "expectEmitAnonymous()"
      | "expectEmitAnonymous(address)"
      | "expectEmitAnonymous(bool,bool,bool,bool,bool,address)"
      | "expectEmitAnonymous(bool,bool,bool,bool,bool)"
      | "expectPartialRevert(bytes4)"
      | "expectPartialRevert(bytes4,address)"
      | "expectRevert(address,uint64)"
      | "expectRevert(bytes4,address)"
      | "expectRevert(bytes,uint64)"
      | "expectRevert(uint64)"
      | "expectRevert(bytes,address)"
      | "expectRevert(bytes4,address,uint64)"
      | "expectRevert(bytes4)"
      | "expectRevert(bytes,address,uint64)"
      | "expectRevert(address)"
      | "expectRevert(bytes4,uint64)"
      | "expectRevert(bytes)"
      | "expectRevert()"
      | "expectSafeMemory"
      | "expectSafeMemoryCall"
      | "fee"
      | "ffi"
      | "foundryVersionAtLeast"
      | "foundryVersionCmp"
      | "fsMetadata"
      | "getArtifactPathByCode"
      | "getArtifactPathByDeployedCode"
      | "getBlobBaseFee"
      | "getBlobhashes"
      | "getBlockNumber"
      | "getBlockTimestamp"
      | "getBroadcast"
      | "getBroadcasts(string,uint64)"
      | "getBroadcasts(string,uint64,uint8)"
      | "getChain(string)"
      | "getChain(uint256)"
      | "getCode"
      | "getDeployedCode"
      | "getDeployment(string,uint64)"
      | "getDeployment(string)"
      | "getDeployments"
      | "getFoundryVersion"
      | "getLabel"
      | "getMappingKeyAndParentOf"
      | "getMappingLength"
      | "getMappingSlotAt"
      | "getNonce(address)"
      | "getNonce((address,uint256,uint256,uint256))"
      | "getRecordedLogs"
      | "getStateDiff"
      | "getStateDiffJson"
      | "getWallets"
      | "indexOf"
      | "interceptInitcode"
      | "isContext"
      | "isDir"
      | "isFile"
      | "isPersistent"
      | "keyExists"
      | "keyExistsJson"
      | "keyExistsToml"
      | "label"
      | "lastCallGas"
      | "load"
      | "loadAllocs"
      | "makePersistent(address[])"
      | "makePersistent(address,address)"
      | "makePersistent(address)"
      | "makePersistent(address,address,address)"
      | "mockCall(address,bytes4,bytes)"
      | "mockCall(address,uint256,bytes,bytes)"
      | "mockCall(address,bytes,bytes)"
      | "mockCall(address,uint256,bytes4,bytes)"
      | "mockCallRevert(address,bytes4,bytes)"
      | "mockCallRevert(address,uint256,bytes4,bytes)"
      | "mockCallRevert(address,uint256,bytes,bytes)"
      | "mockCallRevert(address,bytes,bytes)"
      | "mockCalls(address,uint256,bytes,bytes[])"
      | "mockCalls(address,bytes,bytes[])"
      | "mockFunction"
      | "noAccessList"
      | "parseAddress"
      | "parseBool"
      | "parseBytes"
      | "parseBytes32"
      | "parseInt"
      | "parseJson(string)"
      | "parseJson(string,string)"
      | "parseJsonAddress"
      | "parseJsonAddressArray"
      | "parseJsonBool"
      | "parseJsonBoolArray"
      | "parseJsonBytes"
      | "parseJsonBytes32"
      | "parseJsonBytes32Array"
      | "parseJsonBytesArray"
      | "parseJsonInt"
      | "parseJsonIntArray"
      | "parseJsonKeys"
      | "parseJsonString"
      | "parseJsonStringArray"
      | "parseJsonType(string,string)"
      | "parseJsonType(string,string,string)"
      | "parseJsonTypeArray"
      | "parseJsonUint"
      | "parseJsonUintArray"
      | "parseToml(string,string)"
      | "parseToml(string)"
      | "parseTomlAddress"
      | "parseTomlAddressArray"
      | "parseTomlBool"
      | "parseTomlBoolArray"
      | "parseTomlBytes"
      | "parseTomlBytes32"
      | "parseTomlBytes32Array"
      | "parseTomlBytesArray"
      | "parseTomlInt"
      | "parseTomlIntArray"
      | "parseTomlKeys"
      | "parseTomlString"
      | "parseTomlStringArray"
      | "parseTomlType(string,string)"
      | "parseTomlType(string,string,string)"
      | "parseTomlTypeArray"
      | "parseTomlUint"
      | "parseTomlUintArray"
      | "parseUint"
      | "pauseGasMetering"
      | "pauseTracing"
      | "prank(address,address)"
      | "prank(address,address,bool)"
      | "prank(address,bool)"
      | "prank(address)"
      | "prevrandao(bytes32)"
      | "prevrandao(uint256)"
      | "projectRoot"
      | "prompt"
      | "promptAddress"
      | "promptSecret"
      | "promptSecretUint"
      | "promptUint"
      | "publicKeyP256"
      | "randomAddress"
      | "randomBool"
      | "randomBytes"
      | "randomBytes4"
      | "randomBytes8"
      | "randomInt()"
      | "randomInt(uint256)"
      | "randomUint()"
      | "randomUint(uint256)"
      | "randomUint(uint256,uint256)"
      | "readCallers"
      | "readDir(string,uint64)"
      | "readDir(string,uint64,bool)"
      | "readDir(string)"
      | "readFile"
      | "readFileBinary"
      | "readLine"
      | "readLink"
      | "record"
      | "recordLogs"
      | "rememberKey"
      | "rememberKeys(string,string,uint32)"
      | "rememberKeys(string,string,string,uint32)"
      | "removeDir"
      | "removeFile"
      | "replace"
      | "resetGasMetering"
      | "resetNonce"
      | "resumeGasMetering"
      | "resumeTracing"
      | "revertTo"
      | "revertToAndDelete"
      | "revertToState"
      | "revertToStateAndDelete"
      | "revokePersistent(address[])"
      | "revokePersistent(address)"
      | "roll"
      | "rollFork(bytes32)"
      | "rollFork(uint256,uint256)"
      | "rollFork(uint256)"
      | "rollFork(uint256,bytes32)"
      | "rpc(string,string,string)"
      | "rpc(string,string)"
      | "rpcUrl"
      | "rpcUrlStructs"
      | "rpcUrls"
      | "selectFork"
      | "serializeAddress(string,string,address[])"
      | "serializeAddress(string,string,address)"
      | "serializeBool(string,string,bool[])"
      | "serializeBool(string,string,bool)"
      | "serializeBytes(string,string,bytes[])"
      | "serializeBytes(string,string,bytes)"
      | "serializeBytes32(string,string,bytes32[])"
      | "serializeBytes32(string,string,bytes32)"
      | "serializeInt(string,string,int256)"
      | "serializeInt(string,string,int256[])"
      | "serializeJson"
      | "serializeJsonType(string,bytes)"
      | "serializeJsonType(string,string,string,bytes)"
      | "serializeString(string,string,string[])"
      | "serializeString(string,string,string)"
      | "serializeUint(string,string,uint256)"
      | "serializeUint(string,string,uint256[])"
      | "serializeUintToHex"
      | "setArbitraryStorage(address,bool)"
      | "setArbitraryStorage(address)"
      | "setBlockhash"
      | "setEnv"
      | "setNonce"
      | "setNonceUnsafe"
      | "shuffle"
      | "sign(bytes32)"
      | "sign(address,bytes32)"
      | "sign((address,uint256,uint256,uint256),bytes32)"
      | "sign(uint256,bytes32)"
      | "signAndAttachDelegation(address,uint256)"
      | "signAndAttachDelegation(address,uint256,uint64)"
      | "signCompact((address,uint256,uint256,uint256),bytes32)"
      | "signCompact(address,bytes32)"
      | "signCompact(bytes32)"
      | "signCompact(uint256,bytes32)"
      | "signDelegation(address,uint256)"
      | "signDelegation(address,uint256,uint64)"
      | "signP256"
      | "skip(bool,string)"
      | "skip(bool)"
      | "sleep"
      | "snapshot"
      | "snapshotGasLastCall(string,string)"
      | "snapshotGasLastCall(string)"
      | "snapshotState"
      | "snapshotValue(string,uint256)"
      | "snapshotValue(string,string,uint256)"
      | "sort"
      | "split"
      | "startBroadcast()"
      | "startBroadcast(address)"
      | "startBroadcast(uint256)"
      | "startDebugTraceRecording"
      | "startMappingRecording"
      | "startPrank(address)"
      | "startPrank(address,bool)"
      | "startPrank(address,address)"
      | "startPrank(address,address,bool)"
      | "startSnapshotGas(string)"
      | "startSnapshotGas(string,string)"
      | "startStateDiffRecording"
      | "stopAndReturnDebugTraceRecording"
      | "stopAndReturnStateDiff"
      | "stopBroadcast"
      | "stopExpectSafeMemory"
      | "stopMappingRecording"
      | "stopPrank"
      | "stopSnapshotGas(string,string)"
      | "stopSnapshotGas(string)"
      | "stopSnapshotGas()"
      | "store"
      | "toBase64(string)"
      | "toBase64(bytes)"
      | "toBase64URL(string)"
      | "toBase64URL(bytes)"
      | "toLowercase"
      | "toString(address)"
      | "toString(uint256)"
      | "toString(bytes)"
      | "toString(bool)"
      | "toString(int256)"
      | "toString(bytes32)"
      | "toUppercase"
      | "transact(uint256,bytes32)"
      | "transact(bytes32)"
      | "trim"
      | "tryFfi"
      | "txGasPrice"
      | "unixTime"
      | "warmSlot"
      | "warp"
      | "writeFile"
      | "writeFileBinary"
      | "writeJson(string,string,string)"
      | "writeJson(string,string)"
      | "writeLine"
      | "writeToml(string,string,string)"
      | "writeToml(string,string)"
  ): FunctionFragment;

  encodeFunctionData(
    functionFragment: "accessList",
    values: [VmSafe.AccessListItemStruct[]]
  ): string;
  encodeFunctionData(
    functionFragment: "accesses",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "activeFork",
    values?: undefined
  ): string;
  encodeFunctionData(functionFragment: "addr", values: [BigNumberish]): string;
  encodeFunctionData(
    functionFragment: "allowCheatcodes",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "assertApproxEqAbs(uint256,uint256,uint256)",
    values: [BigNumberish, BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "assertApproxEqAbs(int256,int256,uint256)",
    values: [BigNumberish, BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "assertApproxEqAbs(int256,int256,uint256,string)",
    values: [BigNumberish, BigNumberish, BigNumberish, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertApproxEqAbs(uint256,uint256,uint256,string)",
    values: [BigNumberish, BigNumberish, BigNumberish, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256)",
    values: [BigNumberish, BigNumberish, BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "assertApproxEqAbsDecimal(int256,int256,uint256,uint256)",
    values: [BigNumberish, BigNumberish, BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256,string)",
    values: [BigNumberish, BigNumberish, BigNumberish, BigNumberish, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertApproxEqAbsDecimal(int256,int256,uint256,uint256,string)",
    values: [BigNumberish, BigNumberish, BigNumberish, BigNumberish, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertApproxEqRel(uint256,uint256,uint256,string)",
    values: [BigNumberish, BigNumberish, BigNumberish, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertApproxEqRel(uint256,uint256,uint256)",
    values: [BigNumberish, BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "assertApproxEqRel(int256,int256,uint256,string)",
    values: [BigNumberish, BigNumberish, BigNumberish, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertApproxEqRel(int256,int256,uint256)",
    values: [BigNumberish, BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "assertApproxEqRelDecimal(uint256,uint256,uint256,uint256)",
    values: [BigNumberish, BigNumberish, BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "assertApproxEqRelDecimal(uint256,uint256,uint256,uint256,string)",
    values: [BigNumberish, BigNumberish, BigNumberish, BigNumberish, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertApproxEqRelDecimal(int256,int256,uint256,uint256)",
    values: [BigNumberish, BigNumberish, BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "assertApproxEqRelDecimal(int256,int256,uint256,uint256,string)",
    values: [BigNumberish, BigNumberish, BigNumberish, BigNumberish, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertEq(bytes32[],bytes32[])",
    values: [BytesLike[], BytesLike[]]
  ): string;
  encodeFunctionData(
    functionFragment: "assertEq(int256[],int256[],string)",
    values: [BigNumberish[], BigNumberish[], string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertEq(address,address,string)",
    values: [AddressLike, AddressLike, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertEq(string,string,string)",
    values: [string, string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertEq(address[],address[])",
    values: [AddressLike[], AddressLike[]]
  ): string;
  encodeFunctionData(
    functionFragment: "assertEq(address[],address[],string)",
    values: [AddressLike[], AddressLike[], string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertEq(bool,bool,string)",
    values: [boolean, boolean, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertEq(address,address)",
    values: [AddressLike, AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "assertEq(uint256[],uint256[],string)",
    values: [BigNumberish[], BigNumberish[], string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertEq(bool[],bool[])",
    values: [boolean[], boolean[]]
  ): string;
  encodeFunctionData(
    functionFragment: "assertEq(int256[],int256[])",
    values: [BigNumberish[], BigNumberish[]]
  ): string;
  encodeFunctionData(
    functionFragment: "assertEq(int256,int256,string)",
    values: [BigNumberish, BigNumberish, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertEq(bytes32,bytes32)",
    values: [BytesLike, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "assertEq(uint256,uint256,string)",
    values: [BigNumberish, BigNumberish, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertEq(uint256[],uint256[])",
    values: [BigNumberish[], BigNumberish[]]
  ): string;
  encodeFunctionData(
    functionFragment: "assertEq(bytes,bytes)",
    values: [BytesLike, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "assertEq(uint256,uint256)",
    values: [BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "assertEq(bytes32,bytes32,string)",
    values: [BytesLike, BytesLike, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertEq(string[],string[])",
    values: [string[], string[]]
  ): string;
  encodeFunctionData(
    functionFragment: "assertEq(bytes32[],bytes32[],string)",
    values: [BytesLike[], BytesLike[], string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertEq(bytes,bytes,string)",
    values: [BytesLike, BytesLike, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertEq(bool[],bool[],string)",
    values: [boolean[], boolean[], string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertEq(bytes[],bytes[])",
    values: [BytesLike[], BytesLike[]]
  ): string;
  encodeFunctionData(
    functionFragment: "assertEq(string[],string[],string)",
    values: [string[], string[], string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertEq(string,string)",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertEq(bytes[],bytes[],string)",
    values: [BytesLike[], BytesLike[], string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertEq(bool,bool)",
    values: [boolean, boolean]
  ): string;
  encodeFunctionData(
    functionFragment: "assertEq(int256,int256)",
    values: [BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "assertEqDecimal(uint256,uint256,uint256)",
    values: [BigNumberish, BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "assertEqDecimal(int256,int256,uint256)",
    values: [BigNumberish, BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "assertEqDecimal(int256,int256,uint256,string)",
    values: [BigNumberish, BigNumberish, BigNumberish, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertEqDecimal(uint256,uint256,uint256,string)",
    values: [BigNumberish, BigNumberish, BigNumberish, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertFalse(bool,string)",
    values: [boolean, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertFalse(bool)",
    values: [boolean]
  ): string;
  encodeFunctionData(
    functionFragment: "assertGe(int256,int256)",
    values: [BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "assertGe(int256,int256,string)",
    values: [BigNumberish, BigNumberish, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertGe(uint256,uint256)",
    values: [BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "assertGe(uint256,uint256,string)",
    values: [BigNumberish, BigNumberish, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertGeDecimal(uint256,uint256,uint256)",
    values: [BigNumberish, BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "assertGeDecimal(int256,int256,uint256,string)",
    values: [BigNumberish, BigNumberish, BigNumberish, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertGeDecimal(uint256,uint256,uint256,string)",
    values: [BigNumberish, BigNumberish, BigNumberish, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertGeDecimal(int256,int256,uint256)",
    values: [BigNumberish, BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "assertGt(int256,int256)",
    values: [BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "assertGt(uint256,uint256,string)",
    values: [BigNumberish, BigNumberish, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertGt(uint256,uint256)",
    values: [BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "assertGt(int256,int256,string)",
    values: [BigNumberish, BigNumberish, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertGtDecimal(int256,int256,uint256,string)",
    values: [BigNumberish, BigNumberish, BigNumberish, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertGtDecimal(uint256,uint256,uint256,string)",
    values: [BigNumberish, BigNumberish, BigNumberish, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertGtDecimal(int256,int256,uint256)",
    values: [BigNumberish, BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "assertGtDecimal(uint256,uint256,uint256)",
    values: [BigNumberish, BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "assertLe(int256,int256,string)",
    values: [BigNumberish, BigNumberish, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertLe(uint256,uint256)",
    values: [BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "assertLe(int256,int256)",
    values: [BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "assertLe(uint256,uint256,string)",
    values: [BigNumberish, BigNumberish, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertLeDecimal(int256,int256,uint256)",
    values: [BigNumberish, BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "assertLeDecimal(uint256,uint256,uint256,string)",
    values: [BigNumberish, BigNumberish, BigNumberish, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertLeDecimal(int256,int256,uint256,string)",
    values: [BigNumberish, BigNumberish, BigNumberish, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertLeDecimal(uint256,uint256,uint256)",
    values: [BigNumberish, BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "assertLt(int256,int256)",
    values: [BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "assertLt(uint256,uint256,string)",
    values: [BigNumberish, BigNumberish, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertLt(int256,int256,string)",
    values: [BigNumberish, BigNumberish, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertLt(uint256,uint256)",
    values: [BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "assertLtDecimal(uint256,uint256,uint256)",
    values: [BigNumberish, BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "assertLtDecimal(int256,int256,uint256,string)",
    values: [BigNumberish, BigNumberish, BigNumberish, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertLtDecimal(uint256,uint256,uint256,string)",
    values: [BigNumberish, BigNumberish, BigNumberish, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertLtDecimal(int256,int256,uint256)",
    values: [BigNumberish, BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "assertNotEq(bytes32[],bytes32[])",
    values: [BytesLike[], BytesLike[]]
  ): string;
  encodeFunctionData(
    functionFragment: "assertNotEq(int256[],int256[])",
    values: [BigNumberish[], BigNumberish[]]
  ): string;
  encodeFunctionData(
    functionFragment: "assertNotEq(bool,bool,string)",
    values: [boolean, boolean, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertNotEq(bytes[],bytes[],string)",
    values: [BytesLike[], BytesLike[], string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertNotEq(bool,bool)",
    values: [boolean, boolean]
  ): string;
  encodeFunctionData(
    functionFragment: "assertNotEq(bool[],bool[])",
    values: [boolean[], boolean[]]
  ): string;
  encodeFunctionData(
    functionFragment: "assertNotEq(bytes,bytes)",
    values: [BytesLike, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "assertNotEq(address[],address[])",
    values: [AddressLike[], AddressLike[]]
  ): string;
  encodeFunctionData(
    functionFragment: "assertNotEq(int256,int256,string)",
    values: [BigNumberish, BigNumberish, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertNotEq(uint256[],uint256[])",
    values: [BigNumberish[], BigNumberish[]]
  ): string;
  encodeFunctionData(
    functionFragment: "assertNotEq(bool[],bool[],string)",
    values: [boolean[], boolean[], string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertNotEq(string,string)",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertNotEq(address[],address[],string)",
    values: [AddressLike[], AddressLike[], string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertNotEq(string,string,string)",
    values: [string, string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertNotEq(address,address,string)",
    values: [AddressLike, AddressLike, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertNotEq(bytes32,bytes32)",
    values: [BytesLike, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "assertNotEq(bytes,bytes,string)",
    values: [BytesLike, BytesLike, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertNotEq(uint256,uint256,string)",
    values: [BigNumberish, BigNumberish, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertNotEq(uint256[],uint256[],string)",
    values: [BigNumberish[], BigNumberish[], string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertNotEq(address,address)",
    values: [AddressLike, AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "assertNotEq(bytes32,bytes32,string)",
    values: [BytesLike, BytesLike, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertNotEq(string[],string[],string)",
    values: [string[], string[], string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertNotEq(uint256,uint256)",
    values: [BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "assertNotEq(bytes32[],bytes32[],string)",
    values: [BytesLike[], BytesLike[], string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertNotEq(string[],string[])",
    values: [string[], string[]]
  ): string;
  encodeFunctionData(
    functionFragment: "assertNotEq(int256[],int256[],string)",
    values: [BigNumberish[], BigNumberish[], string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertNotEq(bytes[],bytes[])",
    values: [BytesLike[], BytesLike[]]
  ): string;
  encodeFunctionData(
    functionFragment: "assertNotEq(int256,int256)",
    values: [BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "assertNotEqDecimal(int256,int256,uint256)",
    values: [BigNumberish, BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "assertNotEqDecimal(int256,int256,uint256,string)",
    values: [BigNumberish, BigNumberish, BigNumberish, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertNotEqDecimal(uint256,uint256,uint256)",
    values: [BigNumberish, BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "assertNotEqDecimal(uint256,uint256,uint256,string)",
    values: [BigNumberish, BigNumberish, BigNumberish, string]
  ): string;
  encodeFunctionData(
    functionFragment: "assertTrue(bool)",
    values: [boolean]
  ): string;
  encodeFunctionData(
    functionFragment: "assertTrue(bool,string)",
    values: [boolean, string]
  ): string;
  encodeFunctionData(functionFragment: "assume", values: [boolean]): string;
  encodeFunctionData(
    functionFragment: "assumeNoRevert()",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "assumeNoRevert((address,bool,bytes)[])",
    values: [VmSafe.PotentialRevertStruct[]]
  ): string;
  encodeFunctionData(
    functionFragment: "assumeNoRevert((address,bool,bytes))",
    values: [VmSafe.PotentialRevertStruct]
  ): string;
  encodeFunctionData(
    functionFragment: "attachBlob",
    values: [BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "attachDelegation",
    values: [VmSafe.SignedDelegationStruct]
  ): string;
  encodeFunctionData(
    functionFragment: "blobBaseFee",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "blobhashes",
    values: [BytesLike[]]
  ): string;
  encodeFunctionData(
    functionFragment: "breakpoint(string)",
    values: [string]
  ): string;
  encodeFunctionData(
    functionFragment: "breakpoint(string,bool)",
    values: [string, boolean]
  ): string;
  encodeFunctionData(
    functionFragment: "broadcast()",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "broadcast(address)",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "broadcast(uint256)",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "broadcastRawTransaction",
    values: [BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "chainId",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "clearMockedCalls",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "cloneAccount",
    values: [AddressLike, AddressLike]
  ): string;
  encodeFunctionData(functionFragment: "closeFile", values: [string]): string;
  encodeFunctionData(
    functionFragment: "coinbase",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "computeCreate2Address(bytes32,bytes32)",
    values: [BytesLike, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "computeCreate2Address(bytes32,bytes32,address)",
    values: [BytesLike, BytesLike, AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "computeCreateAddress",
    values: [AddressLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "contains",
    values: [string, string]
  ): string;
  encodeFunctionData(functionFragment: "cool", values: [AddressLike]): string;
  encodeFunctionData(
    functionFragment: "coolSlot",
    values: [AddressLike, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "copyFile",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "copyStorage",
    values: [AddressLike, AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "createDir",
    values: [string, boolean]
  ): string;
  encodeFunctionData(
    functionFragment: "createFork(string)",
    values: [string]
  ): string;
  encodeFunctionData(
    functionFragment: "createFork(string,uint256)",
    values: [string, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "createFork(string,bytes32)",
    values: [string, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "createSelectFork(string,uint256)",
    values: [string, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "createSelectFork(string,bytes32)",
    values: [string, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "createSelectFork(string)",
    values: [string]
  ): string;
  encodeFunctionData(
    functionFragment: "createWallet(string)",
    values: [string]
  ): string;
  encodeFunctionData(
    functionFragment: "createWallet(uint256)",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "createWallet(uint256,string)",
    values: [BigNumberish, string]
  ): string;
  encodeFunctionData(
    functionFragment: "deal",
    values: [AddressLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "deleteSnapshot",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "deleteSnapshots",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "deleteStateSnapshot",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "deleteStateSnapshots",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "deployCode(string,uint256,bytes32)",
    values: [string, BigNumberish, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "deployCode(string,bytes,bytes32)",
    values: [string, BytesLike, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "deployCode(string,uint256)",
    values: [string, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "deployCode(string,bytes32)",
    values: [string, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "deployCode(string,bytes)",
    values: [string, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "deployCode(string,bytes,uint256,bytes32)",
    values: [string, BytesLike, BigNumberish, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "deployCode(string)",
    values: [string]
  ): string;
  encodeFunctionData(
    functionFragment: "deployCode(string,bytes,uint256)",
    values: [string, BytesLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "deriveKey(string,string,uint32,string)",
    values: [string, string, BigNumberish, string]
  ): string;
  encodeFunctionData(
    functionFragment: "deriveKey(string,uint32,string)",
    values: [string, BigNumberish, string]
  ): string;
  encodeFunctionData(
    functionFragment: "deriveKey(string,uint32)",
    values: [string, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "deriveKey(string,string,uint32)",
    values: [string, string, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "difficulty",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(functionFragment: "dumpState", values: [string]): string;
  encodeFunctionData(functionFragment: "ensNamehash", values: [string]): string;
  encodeFunctionData(
    functionFragment: "envAddress(string)",
    values: [string]
  ): string;
  encodeFunctionData(
    functionFragment: "envAddress(string,string)",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "envBool(string)",
    values: [string]
  ): string;
  encodeFunctionData(
    functionFragment: "envBool(string,string)",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "envBytes(string)",
    values: [string]
  ): string;
  encodeFunctionData(
    functionFragment: "envBytes(string,string)",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "envBytes32(string,string)",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "envBytes32(string)",
    values: [string]
  ): string;
  encodeFunctionData(functionFragment: "envExists", values: [string]): string;
  encodeFunctionData(
    functionFragment: "envInt(string,string)",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "envInt(string)",
    values: [string]
  ): string;
  encodeFunctionData(
    functionFragment: "envOr(string,string,bytes32[])",
    values: [string, string, BytesLike[]]
  ): string;
  encodeFunctionData(
    functionFragment: "envOr(string,string,int256[])",
    values: [string, string, BigNumberish[]]
  ): string;
  encodeFunctionData(
    functionFragment: "envOr(string,bool)",
    values: [string, boolean]
  ): string;
  encodeFunctionData(
    functionFragment: "envOr(string,address)",
    values: [string, AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "envOr(string,uint256)",
    values: [string, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "envOr(string,string,bytes[])",
    values: [string, string, BytesLike[]]
  ): string;
  encodeFunctionData(
    functionFragment: "envOr(string,string,uint256[])",
    values: [string, string, BigNumberish[]]
  ): string;
  encodeFunctionData(
    functionFragment: "envOr(string,string,string[])",
    values: [string, string, string[]]
  ): string;
  encodeFunctionData(
    functionFragment: "envOr(string,bytes)",
    values: [string, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "envOr(string,bytes32)",
    values: [string, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "envOr(string,int256)",
    values: [string, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "envOr(string,string,address[])",
    values: [string, string, AddressLike[]]
  ): string;
  encodeFunctionData(
    functionFragment: "envOr(string,string)",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "envOr(string,string,bool[])",
    values: [string, string, boolean[]]
  ): string;
  encodeFunctionData(
    functionFragment: "envString(string,string)",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "envString(string)",
    values: [string]
  ): string;
  encodeFunctionData(
    functionFragment: "envUint(string)",
    values: [string]
  ): string;
  encodeFunctionData(
    functionFragment: "envUint(string,string)",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "etch",
    values: [AddressLike, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "eth_getLogs",
    values: [BigNumberish, BigNumberish, AddressLike, BytesLike[]]
  ): string;
  encodeFunctionData(functionFragment: "exists", values: [string]): string;
  encodeFunctionData(
    functionFragment: "expectCall(address,uint256,uint64,bytes)",
    values: [AddressLike, BigNumberish, BigNumberish, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "expectCall(address,uint256,uint64,bytes,uint64)",
    values: [AddressLike, BigNumberish, BigNumberish, BytesLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "expectCall(address,uint256,bytes,uint64)",
    values: [AddressLike, BigNumberish, BytesLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "expectCall(address,bytes)",
    values: [AddressLike, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "expectCall(address,bytes,uint64)",
    values: [AddressLike, BytesLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "expectCall(address,uint256,bytes)",
    values: [AddressLike, BigNumberish, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "expectCallMinGas(address,uint256,uint64,bytes)",
    values: [AddressLike, BigNumberish, BigNumberish, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "expectCallMinGas(address,uint256,uint64,bytes,uint64)",
    values: [AddressLike, BigNumberish, BigNumberish, BytesLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "expectCreate",
    values: [BytesLike, AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "expectCreate2",
    values: [BytesLike, AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "expectEmit()",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "expectEmit(bool,bool,bool,bool)",
    values: [boolean, boolean, boolean, boolean]
  ): string;
  encodeFunctionData(
    functionFragment: "expectEmit(uint64)",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "expectEmit(bool,bool,bool,bool,uint64)",
    values: [boolean, boolean, boolean, boolean, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "expectEmit(bool,bool,bool,bool,address)",
    values: [boolean, boolean, boolean, boolean, AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "expectEmit(address)",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "expectEmit(address,uint64)",
    values: [AddressLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "expectEmit(bool,bool,bool,bool,address,uint64)",
    values: [boolean, boolean, boolean, boolean, AddressLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "expectEmitAnonymous()",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "expectEmitAnonymous(address)",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "expectEmitAnonymous(bool,bool,bool,bool,bool,address)",
    values: [boolean, boolean, boolean, boolean, boolean, AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "expectEmitAnonymous(bool,bool,bool,bool,bool)",
    values: [boolean, boolean, boolean, boolean, boolean]
  ): string;
  encodeFunctionData(
    functionFragment: "expectPartialRevert(bytes4)",
    values: [BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "expectPartialRevert(bytes4,address)",
    values: [BytesLike, AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "expectRevert(address,uint64)",
    values: [AddressLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "expectRevert(bytes4,address)",
    values: [BytesLike, AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "expectRevert(bytes,uint64)",
    values: [BytesLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "expectRevert(uint64)",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "expectRevert(bytes,address)",
    values: [BytesLike, AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "expectRevert(bytes4,address,uint64)",
    values: [BytesLike, AddressLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "expectRevert(bytes4)",
    values: [BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "expectRevert(bytes,address,uint64)",
    values: [BytesLike, AddressLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "expectRevert(address)",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "expectRevert(bytes4,uint64)",
    values: [BytesLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "expectRevert(bytes)",
    values: [BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "expectRevert()",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "expectSafeMemory",
    values: [BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "expectSafeMemoryCall",
    values: [BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(functionFragment: "fee", values: [BigNumberish]): string;
  encodeFunctionData(functionFragment: "ffi", values: [string[]]): string;
  encodeFunctionData(
    functionFragment: "foundryVersionAtLeast",
    values: [string]
  ): string;
  encodeFunctionData(
    functionFragment: "foundryVersionCmp",
    values: [string]
  ): string;
  encodeFunctionData(functionFragment: "fsMetadata", values: [string]): string;
  encodeFunctionData(
    functionFragment: "getArtifactPathByCode",
    values: [BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "getArtifactPathByDeployedCode",
    values: [BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "getBlobBaseFee",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "getBlobhashes",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "getBlockNumber",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "getBlockTimestamp",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "getBroadcast",
    values: [string, BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "getBroadcasts(string,uint64)",
    values: [string, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "getBroadcasts(string,uint64,uint8)",
    values: [string, BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "getChain(string)",
    values: [string]
  ): string;
  encodeFunctionData(
    functionFragment: "getChain(uint256)",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(functionFragment: "getCode", values: [string]): string;
  encodeFunctionData(
    functionFragment: "getDeployedCode",
    values: [string]
  ): string;
  encodeFunctionData(
    functionFragment: "getDeployment(string,uint64)",
    values: [string, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "getDeployment(string)",
    values: [string]
  ): string;
  encodeFunctionData(
    functionFragment: "getDeployments",
    values: [string, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "getFoundryVersion",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "getLabel",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "getMappingKeyAndParentOf",
    values: [AddressLike, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "getMappingLength",
    values: [AddressLike, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "getMappingSlotAt",
    values: [AddressLike, BytesLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "getNonce(address)",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "getNonce((address,uint256,uint256,uint256))",
    values: [VmSafe.WalletStruct]
  ): string;
  encodeFunctionData(
    functionFragment: "getRecordedLogs",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "getStateDiff",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "getStateDiffJson",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "getWallets",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "indexOf",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "interceptInitcode",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "isContext",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(functionFragment: "isDir", values: [string]): string;
  encodeFunctionData(functionFragment: "isFile", values: [string]): string;
  encodeFunctionData(
    functionFragment: "isPersistent",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "keyExists",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "keyExistsJson",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "keyExistsToml",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "label",
    values: [AddressLike, string]
  ): string;
  encodeFunctionData(
    functionFragment: "lastCallGas",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "load",
    values: [AddressLike, BytesLike]
  ): string;
  encodeFunctionData(functionFragment: "loadAllocs", values: [string]): string;
  encodeFunctionData(
    functionFragment: "makePersistent(address[])",
    values: [AddressLike[]]
  ): string;
  encodeFunctionData(
    functionFragment: "makePersistent(address,address)",
    values: [AddressLike, AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "makePersistent(address)",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "makePersistent(address,address,address)",
    values: [AddressLike, AddressLike, AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "mockCall(address,bytes4,bytes)",
    values: [AddressLike, BytesLike, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "mockCall(address,uint256,bytes,bytes)",
    values: [AddressLike, BigNumberish, BytesLike, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "mockCall(address,bytes,bytes)",
    values: [AddressLike, BytesLike, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "mockCall(address,uint256,bytes4,bytes)",
    values: [AddressLike, BigNumberish, BytesLike, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "mockCallRevert(address,bytes4,bytes)",
    values: [AddressLike, BytesLike, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "mockCallRevert(address,uint256,bytes4,bytes)",
    values: [AddressLike, BigNumberish, BytesLike, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "mockCallRevert(address,uint256,bytes,bytes)",
    values: [AddressLike, BigNumberish, BytesLike, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "mockCallRevert(address,bytes,bytes)",
    values: [AddressLike, BytesLike, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "mockCalls(address,uint256,bytes,bytes[])",
    values: [AddressLike, BigNumberish, BytesLike, BytesLike[]]
  ): string;
  encodeFunctionData(
    functionFragment: "mockCalls(address,bytes,bytes[])",
    values: [AddressLike, BytesLike, BytesLike[]]
  ): string;
  encodeFunctionData(
    functionFragment: "mockFunction",
    values: [AddressLike, AddressLike, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "noAccessList",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "parseAddress",
    values: [string]
  ): string;
  encodeFunctionData(functionFragment: "parseBool", values: [string]): string;
  encodeFunctionData(functionFragment: "parseBytes", values: [string]): string;
  encodeFunctionData(
    functionFragment: "parseBytes32",
    values: [string]
  ): string;
  encodeFunctionData(functionFragment: "parseInt", values: [string]): string;
  encodeFunctionData(
    functionFragment: "parseJson(string)",
    values: [string]
  ): string;
  encodeFunctionData(
    functionFragment: "parseJson(string,string)",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "parseJsonAddress",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "parseJsonAddressArray",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "parseJsonBool",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "parseJsonBoolArray",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "parseJsonBytes",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "parseJsonBytes32",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "parseJsonBytes32Array",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "parseJsonBytesArray",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "parseJsonInt",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "parseJsonIntArray",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "parseJsonKeys",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "parseJsonString",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "parseJsonStringArray",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "parseJsonType(string,string)",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "parseJsonType(string,string,string)",
    values: [string, string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "parseJsonTypeArray",
    values: [string, string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "parseJsonUint",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "parseJsonUintArray",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "parseToml(string,string)",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "parseToml(string)",
    values: [string]
  ): string;
  encodeFunctionData(
    functionFragment: "parseTomlAddress",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "parseTomlAddressArray",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "parseTomlBool",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "parseTomlBoolArray",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "parseTomlBytes",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "parseTomlBytes32",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "parseTomlBytes32Array",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "parseTomlBytesArray",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "parseTomlInt",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "parseTomlIntArray",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "parseTomlKeys",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "parseTomlString",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "parseTomlStringArray",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "parseTomlType(string,string)",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "parseTomlType(string,string,string)",
    values: [string, string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "parseTomlTypeArray",
    values: [string, string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "parseTomlUint",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "parseTomlUintArray",
    values: [string, string]
  ): string;
  encodeFunctionData(functionFragment: "parseUint", values: [string]): string;
  encodeFunctionData(
    functionFragment: "pauseGasMetering",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "pauseTracing",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "prank(address,address)",
    values: [AddressLike, AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "prank(address,address,bool)",
    values: [AddressLike, AddressLike, boolean]
  ): string;
  encodeFunctionData(
    functionFragment: "prank(address,bool)",
    values: [AddressLike, boolean]
  ): string;
  encodeFunctionData(
    functionFragment: "prank(address)",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "prevrandao(bytes32)",
    values: [BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "prevrandao(uint256)",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "projectRoot",
    values?: undefined
  ): string;
  encodeFunctionData(functionFragment: "prompt", values: [string]): string;
  encodeFunctionData(
    functionFragment: "promptAddress",
    values: [string]
  ): string;
  encodeFunctionData(
    functionFragment: "promptSecret",
    values: [string]
  ): string;
  encodeFunctionData(
    functionFragment: "promptSecretUint",
    values: [string]
  ): string;
  encodeFunctionData(functionFragment: "promptUint", values: [string]): string;
  encodeFunctionData(
    functionFragment: "publicKeyP256",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "randomAddress",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "randomBool",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "randomBytes",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "randomBytes4",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "randomBytes8",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "randomInt()",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "randomInt(uint256)",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "randomUint()",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "randomUint(uint256)",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "randomUint(uint256,uint256)",
    values: [BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "readCallers",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "readDir(string,uint64)",
    values: [string, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "readDir(string,uint64,bool)",
    values: [string, BigNumberish, boolean]
  ): string;
  encodeFunctionData(
    functionFragment: "readDir(string)",
    values: [string]
  ): string;
  encodeFunctionData(functionFragment: "readFile", values: [string]): string;
  encodeFunctionData(
    functionFragment: "readFileBinary",
    values: [string]
  ): string;
  encodeFunctionData(functionFragment: "readLine", values: [string]): string;
  encodeFunctionData(functionFragment: "readLink", values: [string]): string;
  encodeFunctionData(functionFragment: "record", values?: undefined): string;
  encodeFunctionData(
    functionFragment: "recordLogs",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "rememberKey",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "rememberKeys(string,string,uint32)",
    values: [string, string, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "rememberKeys(string,string,string,uint32)",
    values: [string, string, string, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "removeDir",
    values: [string, boolean]
  ): string;
  encodeFunctionData(functionFragment: "removeFile", values: [string]): string;
  encodeFunctionData(
    functionFragment: "replace",
    values: [string, string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "resetGasMetering",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "resetNonce",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "resumeGasMetering",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "resumeTracing",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "revertTo",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "revertToAndDelete",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "revertToState",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "revertToStateAndDelete",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "revokePersistent(address[])",
    values: [AddressLike[]]
  ): string;
  encodeFunctionData(
    functionFragment: "revokePersistent(address)",
    values: [AddressLike]
  ): string;
  encodeFunctionData(functionFragment: "roll", values: [BigNumberish]): string;
  encodeFunctionData(
    functionFragment: "rollFork(bytes32)",
    values: [BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "rollFork(uint256,uint256)",
    values: [BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "rollFork(uint256)",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "rollFork(uint256,bytes32)",
    values: [BigNumberish, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "rpc(string,string,string)",
    values: [string, string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "rpc(string,string)",
    values: [string, string]
  ): string;
  encodeFunctionData(functionFragment: "rpcUrl", values: [string]): string;
  encodeFunctionData(
    functionFragment: "rpcUrlStructs",
    values?: undefined
  ): string;
  encodeFunctionData(functionFragment: "rpcUrls", values?: undefined): string;
  encodeFunctionData(
    functionFragment: "selectFork",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "serializeAddress(string,string,address[])",
    values: [string, string, AddressLike[]]
  ): string;
  encodeFunctionData(
    functionFragment: "serializeAddress(string,string,address)",
    values: [string, string, AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "serializeBool(string,string,bool[])",
    values: [string, string, boolean[]]
  ): string;
  encodeFunctionData(
    functionFragment: "serializeBool(string,string,bool)",
    values: [string, string, boolean]
  ): string;
  encodeFunctionData(
    functionFragment: "serializeBytes(string,string,bytes[])",
    values: [string, string, BytesLike[]]
  ): string;
  encodeFunctionData(
    functionFragment: "serializeBytes(string,string,bytes)",
    values: [string, string, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "serializeBytes32(string,string,bytes32[])",
    values: [string, string, BytesLike[]]
  ): string;
  encodeFunctionData(
    functionFragment: "serializeBytes32(string,string,bytes32)",
    values: [string, string, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "serializeInt(string,string,int256)",
    values: [string, string, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "serializeInt(string,string,int256[])",
    values: [string, string, BigNumberish[]]
  ): string;
  encodeFunctionData(
    functionFragment: "serializeJson",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "serializeJsonType(string,bytes)",
    values: [string, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "serializeJsonType(string,string,string,bytes)",
    values: [string, string, string, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "serializeString(string,string,string[])",
    values: [string, string, string[]]
  ): string;
  encodeFunctionData(
    functionFragment: "serializeString(string,string,string)",
    values: [string, string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "serializeUint(string,string,uint256)",
    values: [string, string, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "serializeUint(string,string,uint256[])",
    values: [string, string, BigNumberish[]]
  ): string;
  encodeFunctionData(
    functionFragment: "serializeUintToHex",
    values: [string, string, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "setArbitraryStorage(address,bool)",
    values: [AddressLike, boolean]
  ): string;
  encodeFunctionData(
    functionFragment: "setArbitraryStorage(address)",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "setBlockhash",
    values: [BigNumberish, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "setEnv",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "setNonce",
    values: [AddressLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "setNonceUnsafe",
    values: [AddressLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "shuffle",
    values: [BigNumberish[]]
  ): string;
  encodeFunctionData(
    functionFragment: "sign(bytes32)",
    values: [BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "sign(address,bytes32)",
    values: [AddressLike, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "sign((address,uint256,uint256,uint256),bytes32)",
    values: [VmSafe.WalletStruct, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "sign(uint256,bytes32)",
    values: [BigNumberish, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "signAndAttachDelegation(address,uint256)",
    values: [AddressLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "signAndAttachDelegation(address,uint256,uint64)",
    values: [AddressLike, BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "signCompact((address,uint256,uint256,uint256),bytes32)",
    values: [VmSafe.WalletStruct, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "signCompact(address,bytes32)",
    values: [AddressLike, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "signCompact(bytes32)",
    values: [BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "signCompact(uint256,bytes32)",
    values: [BigNumberish, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "signDelegation(address,uint256)",
    values: [AddressLike, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "signDelegation(address,uint256,uint64)",
    values: [AddressLike, BigNumberish, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "signP256",
    values: [BigNumberish, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "skip(bool,string)",
    values: [boolean, string]
  ): string;
  encodeFunctionData(functionFragment: "skip(bool)", values: [boolean]): string;
  encodeFunctionData(functionFragment: "sleep", values: [BigNumberish]): string;
  encodeFunctionData(functionFragment: "snapshot", values?: undefined): string;
  encodeFunctionData(
    functionFragment: "snapshotGasLastCall(string,string)",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "snapshotGasLastCall(string)",
    values: [string]
  ): string;
  encodeFunctionData(
    functionFragment: "snapshotState",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "snapshotValue(string,uint256)",
    values: [string, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "snapshotValue(string,string,uint256)",
    values: [string, string, BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "sort",
    values: [BigNumberish[]]
  ): string;
  encodeFunctionData(
    functionFragment: "split",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "startBroadcast()",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "startBroadcast(address)",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "startBroadcast(uint256)",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "startDebugTraceRecording",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "startMappingRecording",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "startPrank(address)",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "startPrank(address,bool)",
    values: [AddressLike, boolean]
  ): string;
  encodeFunctionData(
    functionFragment: "startPrank(address,address)",
    values: [AddressLike, AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "startPrank(address,address,bool)",
    values: [AddressLike, AddressLike, boolean]
  ): string;
  encodeFunctionData(
    functionFragment: "startSnapshotGas(string)",
    values: [string]
  ): string;
  encodeFunctionData(
    functionFragment: "startSnapshotGas(string,string)",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "startStateDiffRecording",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "stopAndReturnDebugTraceRecording",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "stopAndReturnStateDiff",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "stopBroadcast",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "stopExpectSafeMemory",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "stopMappingRecording",
    values?: undefined
  ): string;
  encodeFunctionData(functionFragment: "stopPrank", values?: undefined): string;
  encodeFunctionData(
    functionFragment: "stopSnapshotGas(string,string)",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "stopSnapshotGas(string)",
    values: [string]
  ): string;
  encodeFunctionData(
    functionFragment: "stopSnapshotGas()",
    values?: undefined
  ): string;
  encodeFunctionData(
    functionFragment: "store",
    values: [AddressLike, BytesLike, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "toBase64(string)",
    values: [string]
  ): string;
  encodeFunctionData(
    functionFragment: "toBase64(bytes)",
    values: [BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "toBase64URL(string)",
    values: [string]
  ): string;
  encodeFunctionData(
    functionFragment: "toBase64URL(bytes)",
    values: [BytesLike]
  ): string;
  encodeFunctionData(functionFragment: "toLowercase", values: [string]): string;
  encodeFunctionData(
    functionFragment: "toString(address)",
    values: [AddressLike]
  ): string;
  encodeFunctionData(
    functionFragment: "toString(uint256)",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "toString(bytes)",
    values: [BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "toString(bool)",
    values: [boolean]
  ): string;
  encodeFunctionData(
    functionFragment: "toString(int256)",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(
    functionFragment: "toString(bytes32)",
    values: [BytesLike]
  ): string;
  encodeFunctionData(functionFragment: "toUppercase", values: [string]): string;
  encodeFunctionData(
    functionFragment: "transact(uint256,bytes32)",
    values: [BigNumberish, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "transact(bytes32)",
    values: [BytesLike]
  ): string;
  encodeFunctionData(functionFragment: "trim", values: [string]): string;
  encodeFunctionData(functionFragment: "tryFfi", values: [string[]]): string;
  encodeFunctionData(
    functionFragment: "txGasPrice",
    values: [BigNumberish]
  ): string;
  encodeFunctionData(functionFragment: "unixTime", values?: undefined): string;
  encodeFunctionData(
    functionFragment: "warmSlot",
    values: [AddressLike, BytesLike]
  ): string;
  encodeFunctionData(functionFragment: "warp", values: [BigNumberish]): string;
  encodeFunctionData(
    functionFragment: "writeFile",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "writeFileBinary",
    values: [string, BytesLike]
  ): string;
  encodeFunctionData(
    functionFragment: "writeJson(string,string,string)",
    values: [string, string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "writeJson(string,string)",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "writeLine",
    values: [string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "writeToml(string,string,string)",
    values: [string, string, string]
  ): string;
  encodeFunctionData(
    functionFragment: "writeToml(string,string)",
    values: [string, string]
  ): string;

  decodeFunctionResult(functionFragment: "accessList", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "accesses", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "activeFork", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "addr", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "allowCheatcodes",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertApproxEqAbs(uint256,uint256,uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertApproxEqAbs(int256,int256,uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertApproxEqAbs(int256,int256,uint256,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertApproxEqAbs(uint256,uint256,uint256,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertApproxEqAbsDecimal(int256,int256,uint256,uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertApproxEqAbsDecimal(int256,int256,uint256,uint256,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertApproxEqRel(uint256,uint256,uint256,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertApproxEqRel(uint256,uint256,uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertApproxEqRel(int256,int256,uint256,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertApproxEqRel(int256,int256,uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertApproxEqRelDecimal(uint256,uint256,uint256,uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertApproxEqRelDecimal(uint256,uint256,uint256,uint256,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertApproxEqRelDecimal(int256,int256,uint256,uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertApproxEqRelDecimal(int256,int256,uint256,uint256,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertEq(bytes32[],bytes32[])",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertEq(int256[],int256[],string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertEq(address,address,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertEq(string,string,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertEq(address[],address[])",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertEq(address[],address[],string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertEq(bool,bool,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertEq(address,address)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertEq(uint256[],uint256[],string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertEq(bool[],bool[])",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertEq(int256[],int256[])",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertEq(int256,int256,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertEq(bytes32,bytes32)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertEq(uint256,uint256,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertEq(uint256[],uint256[])",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertEq(bytes,bytes)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertEq(uint256,uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertEq(bytes32,bytes32,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertEq(string[],string[])",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertEq(bytes32[],bytes32[],string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertEq(bytes,bytes,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertEq(bool[],bool[],string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertEq(bytes[],bytes[])",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertEq(string[],string[],string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertEq(string,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertEq(bytes[],bytes[],string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertEq(bool,bool)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertEq(int256,int256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertEqDecimal(uint256,uint256,uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertEqDecimal(int256,int256,uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertEqDecimal(int256,int256,uint256,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertEqDecimal(uint256,uint256,uint256,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertFalse(bool,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertFalse(bool)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertGe(int256,int256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertGe(int256,int256,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertGe(uint256,uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertGe(uint256,uint256,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertGeDecimal(uint256,uint256,uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertGeDecimal(int256,int256,uint256,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertGeDecimal(uint256,uint256,uint256,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertGeDecimal(int256,int256,uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertGt(int256,int256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertGt(uint256,uint256,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertGt(uint256,uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertGt(int256,int256,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertGtDecimal(int256,int256,uint256,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertGtDecimal(uint256,uint256,uint256,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertGtDecimal(int256,int256,uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertGtDecimal(uint256,uint256,uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertLe(int256,int256,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertLe(uint256,uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertLe(int256,int256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertLe(uint256,uint256,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertLeDecimal(int256,int256,uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertLeDecimal(uint256,uint256,uint256,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertLeDecimal(int256,int256,uint256,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertLeDecimal(uint256,uint256,uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertLt(int256,int256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertLt(uint256,uint256,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertLt(int256,int256,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertLt(uint256,uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertLtDecimal(uint256,uint256,uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertLtDecimal(int256,int256,uint256,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertLtDecimal(uint256,uint256,uint256,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertLtDecimal(int256,int256,uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertNotEq(bytes32[],bytes32[])",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertNotEq(int256[],int256[])",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertNotEq(bool,bool,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertNotEq(bytes[],bytes[],string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertNotEq(bool,bool)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertNotEq(bool[],bool[])",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertNotEq(bytes,bytes)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertNotEq(address[],address[])",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertNotEq(int256,int256,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertNotEq(uint256[],uint256[])",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertNotEq(bool[],bool[],string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertNotEq(string,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertNotEq(address[],address[],string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertNotEq(string,string,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertNotEq(address,address,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertNotEq(bytes32,bytes32)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertNotEq(bytes,bytes,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertNotEq(uint256,uint256,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertNotEq(uint256[],uint256[],string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertNotEq(address,address)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertNotEq(bytes32,bytes32,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertNotEq(string[],string[],string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertNotEq(uint256,uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertNotEq(bytes32[],bytes32[],string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertNotEq(string[],string[])",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertNotEq(int256[],int256[],string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertNotEq(bytes[],bytes[])",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertNotEq(int256,int256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertNotEqDecimal(int256,int256,uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertNotEqDecimal(int256,int256,uint256,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertNotEqDecimal(uint256,uint256,uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertNotEqDecimal(uint256,uint256,uint256,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertTrue(bool)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assertTrue(bool,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "assume", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "assumeNoRevert()",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assumeNoRevert((address,bool,bytes)[])",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "assumeNoRevert((address,bool,bytes))",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "attachBlob", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "attachDelegation",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "blobBaseFee",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "blobhashes", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "breakpoint(string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "breakpoint(string,bool)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "broadcast()",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "broadcast(address)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "broadcast(uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "broadcastRawTransaction",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "chainId", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "clearMockedCalls",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "cloneAccount",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "closeFile", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "coinbase", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "computeCreate2Address(bytes32,bytes32)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "computeCreate2Address(bytes32,bytes32,address)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "computeCreateAddress",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "contains", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "cool", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "coolSlot", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "copyFile", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "copyStorage",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "createDir", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "createFork(string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "createFork(string,uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "createFork(string,bytes32)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "createSelectFork(string,uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "createSelectFork(string,bytes32)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "createSelectFork(string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "createWallet(string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "createWallet(uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "createWallet(uint256,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "deal", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "deleteSnapshot",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "deleteSnapshots",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "deleteStateSnapshot",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "deleteStateSnapshots",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "deployCode(string,uint256,bytes32)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "deployCode(string,bytes,bytes32)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "deployCode(string,uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "deployCode(string,bytes32)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "deployCode(string,bytes)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "deployCode(string,bytes,uint256,bytes32)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "deployCode(string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "deployCode(string,bytes,uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "deriveKey(string,string,uint32,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "deriveKey(string,uint32,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "deriveKey(string,uint32)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "deriveKey(string,string,uint32)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "difficulty", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "dumpState", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "ensNamehash",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "envAddress(string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "envAddress(string,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "envBool(string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "envBool(string,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "envBytes(string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "envBytes(string,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "envBytes32(string,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "envBytes32(string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "envExists", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "envInt(string,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "envInt(string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "envOr(string,string,bytes32[])",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "envOr(string,string,int256[])",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "envOr(string,bool)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "envOr(string,address)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "envOr(string,uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "envOr(string,string,bytes[])",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "envOr(string,string,uint256[])",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "envOr(string,string,string[])",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "envOr(string,bytes)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "envOr(string,bytes32)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "envOr(string,int256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "envOr(string,string,address[])",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "envOr(string,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "envOr(string,string,bool[])",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "envString(string,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "envString(string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "envUint(string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "envUint(string,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "etch", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "eth_getLogs",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "exists", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "expectCall(address,uint256,uint64,bytes)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "expectCall(address,uint256,uint64,bytes,uint64)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "expectCall(address,uint256,bytes,uint64)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "expectCall(address,bytes)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "expectCall(address,bytes,uint64)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "expectCall(address,uint256,bytes)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "expectCallMinGas(address,uint256,uint64,bytes)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "expectCallMinGas(address,uint256,uint64,bytes,uint64)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "expectCreate",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "expectCreate2",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "expectEmit()",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "expectEmit(bool,bool,bool,bool)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "expectEmit(uint64)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "expectEmit(bool,bool,bool,bool,uint64)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "expectEmit(bool,bool,bool,bool,address)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "expectEmit(address)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "expectEmit(address,uint64)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "expectEmit(bool,bool,bool,bool,address,uint64)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "expectEmitAnonymous()",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "expectEmitAnonymous(address)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "expectEmitAnonymous(bool,bool,bool,bool,bool,address)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "expectEmitAnonymous(bool,bool,bool,bool,bool)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "expectPartialRevert(bytes4)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "expectPartialRevert(bytes4,address)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "expectRevert(address,uint64)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "expectRevert(bytes4,address)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "expectRevert(bytes,uint64)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "expectRevert(uint64)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "expectRevert(bytes,address)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "expectRevert(bytes4,address,uint64)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "expectRevert(bytes4)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "expectRevert(bytes,address,uint64)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "expectRevert(address)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "expectRevert(bytes4,uint64)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "expectRevert(bytes)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "expectRevert()",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "expectSafeMemory",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "expectSafeMemoryCall",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "fee", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "ffi", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "foundryVersionAtLeast",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "foundryVersionCmp",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "fsMetadata", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "getArtifactPathByCode",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getArtifactPathByDeployedCode",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getBlobBaseFee",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getBlobhashes",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getBlockNumber",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getBlockTimestamp",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getBroadcast",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getBroadcasts(string,uint64)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getBroadcasts(string,uint64,uint8)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getChain(string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getChain(uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "getCode", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "getDeployedCode",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getDeployment(string,uint64)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getDeployment(string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getDeployments",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getFoundryVersion",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "getLabel", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "getMappingKeyAndParentOf",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getMappingLength",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getMappingSlotAt",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getNonce(address)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getNonce((address,uint256,uint256,uint256))",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getRecordedLogs",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getStateDiff",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "getStateDiffJson",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "getWallets", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "indexOf", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "interceptInitcode",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "isContext", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "isDir", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "isFile", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "isPersistent",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "keyExists", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "keyExistsJson",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "keyExistsToml",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "label", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "lastCallGas",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "load", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "loadAllocs", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "makePersistent(address[])",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "makePersistent(address,address)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "makePersistent(address)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "makePersistent(address,address,address)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "mockCall(address,bytes4,bytes)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "mockCall(address,uint256,bytes,bytes)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "mockCall(address,bytes,bytes)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "mockCall(address,uint256,bytes4,bytes)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "mockCallRevert(address,bytes4,bytes)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "mockCallRevert(address,uint256,bytes4,bytes)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "mockCallRevert(address,uint256,bytes,bytes)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "mockCallRevert(address,bytes,bytes)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "mockCalls(address,uint256,bytes,bytes[])",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "mockCalls(address,bytes,bytes[])",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "mockFunction",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "noAccessList",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "parseAddress",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "parseBool", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "parseBytes", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "parseBytes32",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "parseInt", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "parseJson(string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "parseJson(string,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "parseJsonAddress",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "parseJsonAddressArray",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "parseJsonBool",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "parseJsonBoolArray",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "parseJsonBytes",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "parseJsonBytes32",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "parseJsonBytes32Array",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "parseJsonBytesArray",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "parseJsonInt",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "parseJsonIntArray",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "parseJsonKeys",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "parseJsonString",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "parseJsonStringArray",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "parseJsonType(string,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "parseJsonType(string,string,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "parseJsonTypeArray",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "parseJsonUint",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "parseJsonUintArray",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "parseToml(string,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "parseToml(string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "parseTomlAddress",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "parseTomlAddressArray",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "parseTomlBool",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "parseTomlBoolArray",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "parseTomlBytes",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "parseTomlBytes32",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "parseTomlBytes32Array",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "parseTomlBytesArray",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "parseTomlInt",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "parseTomlIntArray",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "parseTomlKeys",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "parseTomlString",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "parseTomlStringArray",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "parseTomlType(string,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "parseTomlType(string,string,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "parseTomlTypeArray",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "parseTomlUint",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "parseTomlUintArray",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "parseUint", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "pauseGasMetering",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "pauseTracing",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "prank(address,address)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "prank(address,address,bool)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "prank(address,bool)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "prank(address)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "prevrandao(bytes32)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "prevrandao(uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "projectRoot",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "prompt", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "promptAddress",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "promptSecret",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "promptSecretUint",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "promptUint", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "publicKeyP256",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "randomAddress",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "randomBool", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "randomBytes",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "randomBytes4",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "randomBytes8",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "randomInt()",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "randomInt(uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "randomUint()",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "randomUint(uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "randomUint(uint256,uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "readCallers",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "readDir(string,uint64)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "readDir(string,uint64,bool)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "readDir(string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "readFile", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "readFileBinary",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "readLine", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "readLink", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "record", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "recordLogs", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "rememberKey",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "rememberKeys(string,string,uint32)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "rememberKeys(string,string,string,uint32)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "removeDir", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "removeFile", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "replace", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "resetGasMetering",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "resetNonce", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "resumeGasMetering",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "resumeTracing",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "revertTo", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "revertToAndDelete",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "revertToState",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "revertToStateAndDelete",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "revokePersistent(address[])",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "revokePersistent(address)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "roll", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "rollFork(bytes32)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "rollFork(uint256,uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "rollFork(uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "rollFork(uint256,bytes32)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "rpc(string,string,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "rpc(string,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "rpcUrl", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "rpcUrlStructs",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "rpcUrls", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "selectFork", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "serializeAddress(string,string,address[])",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "serializeAddress(string,string,address)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "serializeBool(string,string,bool[])",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "serializeBool(string,string,bool)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "serializeBytes(string,string,bytes[])",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "serializeBytes(string,string,bytes)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "serializeBytes32(string,string,bytes32[])",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "serializeBytes32(string,string,bytes32)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "serializeInt(string,string,int256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "serializeInt(string,string,int256[])",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "serializeJson",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "serializeJsonType(string,bytes)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "serializeJsonType(string,string,string,bytes)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "serializeString(string,string,string[])",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "serializeString(string,string,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "serializeUint(string,string,uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "serializeUint(string,string,uint256[])",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "serializeUintToHex",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setArbitraryStorage(address,bool)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setArbitraryStorage(address)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "setBlockhash",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "setEnv", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "setNonce", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "setNonceUnsafe",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "shuffle", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "sign(bytes32)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "sign(address,bytes32)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "sign((address,uint256,uint256,uint256),bytes32)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "sign(uint256,bytes32)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "signAndAttachDelegation(address,uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "signAndAttachDelegation(address,uint256,uint64)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "signCompact((address,uint256,uint256,uint256),bytes32)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "signCompact(address,bytes32)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "signCompact(bytes32)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "signCompact(uint256,bytes32)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "signDelegation(address,uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "signDelegation(address,uint256,uint64)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "signP256", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "skip(bool,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "skip(bool)", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "sleep", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "snapshot", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "snapshotGasLastCall(string,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "snapshotGasLastCall(string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "snapshotState",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "snapshotValue(string,uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "snapshotValue(string,string,uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "sort", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "split", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "startBroadcast()",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "startBroadcast(address)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "startBroadcast(uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "startDebugTraceRecording",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "startMappingRecording",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "startPrank(address)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "startPrank(address,bool)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "startPrank(address,address)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "startPrank(address,address,bool)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "startSnapshotGas(string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "startSnapshotGas(string,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "startStateDiffRecording",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "stopAndReturnDebugTraceRecording",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "stopAndReturnStateDiff",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "stopBroadcast",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "stopExpectSafeMemory",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "stopMappingRecording",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "stopPrank", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "stopSnapshotGas(string,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "stopSnapshotGas(string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "stopSnapshotGas()",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "store", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "toBase64(string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "toBase64(bytes)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "toBase64URL(string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "toBase64URL(bytes)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "toLowercase",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "toString(address)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "toString(uint256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "toString(bytes)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "toString(bool)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "toString(int256)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "toString(bytes32)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "toUppercase",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "transact(uint256,bytes32)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "transact(bytes32)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "trim", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "tryFfi", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "txGasPrice", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "unixTime", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "warmSlot", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "warp", data: BytesLike): Result;
  decodeFunctionResult(functionFragment: "writeFile", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "writeFileBinary",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "writeJson(string,string,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "writeJson(string,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(functionFragment: "writeLine", data: BytesLike): Result;
  decodeFunctionResult(
    functionFragment: "writeToml(string,string,string)",
    data: BytesLike
  ): Result;
  decodeFunctionResult(
    functionFragment: "writeToml(string,string)",
    data: BytesLike
  ): Result;
}

export interface Vm extends BaseContract {
  connect(runner?: ContractRunner | null): Vm;
  waitForDeployment(): Promise<this>;

  interface: VmInterface;

  queryFilter<TCEvent extends TypedContractEvent>(
    event: TCEvent,
    fromBlockOrBlockhash?: string | number | undefined,
    toBlock?: string | number | undefined
  ): Promise<Array<TypedEventLog<TCEvent>>>;
  queryFilter<TCEvent extends TypedContractEvent>(
    filter: TypedDeferredTopicFilter<TCEvent>,
    fromBlockOrBlockhash?: string | number | undefined,
    toBlock?: string | number | undefined
  ): Promise<Array<TypedEventLog<TCEvent>>>;

  on<TCEvent extends TypedContractEvent>(
    event: TCEvent,
    listener: TypedListener<TCEvent>
  ): Promise<this>;
  on<TCEvent extends TypedContractEvent>(
    filter: TypedDeferredTopicFilter<TCEvent>,
    listener: TypedListener<TCEvent>
  ): Promise<this>;

  once<TCEvent extends TypedContractEvent>(
    event: TCEvent,
    listener: TypedListener<TCEvent>
  ): Promise<this>;
  once<TCEvent extends TypedContractEvent>(
    filter: TypedDeferredTopicFilter<TCEvent>,
    listener: TypedListener<TCEvent>
  ): Promise<this>;

  listeners<TCEvent extends TypedContractEvent>(
    event: TCEvent
  ): Promise<Array<TypedListener<TCEvent>>>;
  listeners(eventName?: string): Promise<Array<Listener>>;
  removeAllListeners<TCEvent extends TypedContractEvent>(
    event?: TCEvent
  ): Promise<this>;

  accessList: TypedContractMethod<
    [access: VmSafe.AccessListItemStruct[]],
    [void],
    "nonpayable"
  >;

  accesses: TypedContractMethod<
    [target: AddressLike],
    [[string[], string[]] & { readSlots: string[]; writeSlots: string[] }],
    "nonpayable"
  >;

  activeFork: TypedContractMethod<[], [bigint], "view">;

  addr: TypedContractMethod<[privateKey: BigNumberish], [string], "view">;

  allowCheatcodes: TypedContractMethod<
    [account: AddressLike],
    [void],
    "nonpayable"
  >;

  "assertApproxEqAbs(uint256,uint256,uint256)": TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, maxDelta: BigNumberish],
    [void],
    "view"
  >;

  "assertApproxEqAbs(int256,int256,uint256)": TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, maxDelta: BigNumberish],
    [void],
    "view"
  >;

  "assertApproxEqAbs(int256,int256,uint256,string)": TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      maxDelta: BigNumberish,
      error: string
    ],
    [void],
    "view"
  >;

  "assertApproxEqAbs(uint256,uint256,uint256,string)": TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      maxDelta: BigNumberish,
      error: string
    ],
    [void],
    "view"
  >;

  "assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256)": TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      maxDelta: BigNumberish,
      decimals: BigNumberish
    ],
    [void],
    "view"
  >;

  "assertApproxEqAbsDecimal(int256,int256,uint256,uint256)": TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      maxDelta: BigNumberish,
      decimals: BigNumberish
    ],
    [void],
    "view"
  >;

  "assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256,string)": TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      maxDelta: BigNumberish,
      decimals: BigNumberish,
      error: string
    ],
    [void],
    "view"
  >;

  "assertApproxEqAbsDecimal(int256,int256,uint256,uint256,string)": TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      maxDelta: BigNumberish,
      decimals: BigNumberish,
      error: string
    ],
    [void],
    "view"
  >;

  "assertApproxEqRel(uint256,uint256,uint256,string)": TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      maxPercentDelta: BigNumberish,
      error: string
    ],
    [void],
    "view"
  >;

  "assertApproxEqRel(uint256,uint256,uint256)": TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, maxPercentDelta: BigNumberish],
    [void],
    "view"
  >;

  "assertApproxEqRel(int256,int256,uint256,string)": TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      maxPercentDelta: BigNumberish,
      error: string
    ],
    [void],
    "view"
  >;

  "assertApproxEqRel(int256,int256,uint256)": TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, maxPercentDelta: BigNumberish],
    [void],
    "view"
  >;

  "assertApproxEqRelDecimal(uint256,uint256,uint256,uint256)": TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      maxPercentDelta: BigNumberish,
      decimals: BigNumberish
    ],
    [void],
    "view"
  >;

  "assertApproxEqRelDecimal(uint256,uint256,uint256,uint256,string)": TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      maxPercentDelta: BigNumberish,
      decimals: BigNumberish,
      error: string
    ],
    [void],
    "view"
  >;

  "assertApproxEqRelDecimal(int256,int256,uint256,uint256)": TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      maxPercentDelta: BigNumberish,
      decimals: BigNumberish
    ],
    [void],
    "view"
  >;

  "assertApproxEqRelDecimal(int256,int256,uint256,uint256,string)": TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      maxPercentDelta: BigNumberish,
      decimals: BigNumberish,
      error: string
    ],
    [void],
    "view"
  >;

  "assertEq(bytes32[],bytes32[])": TypedContractMethod<
    [left: BytesLike[], right: BytesLike[]],
    [void],
    "view"
  >;

  "assertEq(int256[],int256[],string)": TypedContractMethod<
    [left: BigNumberish[], right: BigNumberish[], error: string],
    [void],
    "view"
  >;

  "assertEq(address,address,string)": TypedContractMethod<
    [left: AddressLike, right: AddressLike, error: string],
    [void],
    "view"
  >;

  "assertEq(string,string,string)": TypedContractMethod<
    [left: string, right: string, error: string],
    [void],
    "view"
  >;

  "assertEq(address[],address[])": TypedContractMethod<
    [left: AddressLike[], right: AddressLike[]],
    [void],
    "view"
  >;

  "assertEq(address[],address[],string)": TypedContractMethod<
    [left: AddressLike[], right: AddressLike[], error: string],
    [void],
    "view"
  >;

  "assertEq(bool,bool,string)": TypedContractMethod<
    [left: boolean, right: boolean, error: string],
    [void],
    "view"
  >;

  "assertEq(address,address)": TypedContractMethod<
    [left: AddressLike, right: AddressLike],
    [void],
    "view"
  >;

  "assertEq(uint256[],uint256[],string)": TypedContractMethod<
    [left: BigNumberish[], right: BigNumberish[], error: string],
    [void],
    "view"
  >;

  "assertEq(bool[],bool[])": TypedContractMethod<
    [left: boolean[], right: boolean[]],
    [void],
    "view"
  >;

  "assertEq(int256[],int256[])": TypedContractMethod<
    [left: BigNumberish[], right: BigNumberish[]],
    [void],
    "view"
  >;

  "assertEq(int256,int256,string)": TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, error: string],
    [void],
    "view"
  >;

  "assertEq(bytes32,bytes32)": TypedContractMethod<
    [left: BytesLike, right: BytesLike],
    [void],
    "view"
  >;

  "assertEq(uint256,uint256,string)": TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, error: string],
    [void],
    "view"
  >;

  "assertEq(uint256[],uint256[])": TypedContractMethod<
    [left: BigNumberish[], right: BigNumberish[]],
    [void],
    "view"
  >;

  "assertEq(bytes,bytes)": TypedContractMethod<
    [left: BytesLike, right: BytesLike],
    [void],
    "view"
  >;

  "assertEq(uint256,uint256)": TypedContractMethod<
    [left: BigNumberish, right: BigNumberish],
    [void],
    "view"
  >;

  "assertEq(bytes32,bytes32,string)": TypedContractMethod<
    [left: BytesLike, right: BytesLike, error: string],
    [void],
    "view"
  >;

  "assertEq(string[],string[])": TypedContractMethod<
    [left: string[], right: string[]],
    [void],
    "view"
  >;

  "assertEq(bytes32[],bytes32[],string)": TypedContractMethod<
    [left: BytesLike[], right: BytesLike[], error: string],
    [void],
    "view"
  >;

  "assertEq(bytes,bytes,string)": TypedContractMethod<
    [left: BytesLike, right: BytesLike, error: string],
    [void],
    "view"
  >;

  "assertEq(bool[],bool[],string)": TypedContractMethod<
    [left: boolean[], right: boolean[], error: string],
    [void],
    "view"
  >;

  "assertEq(bytes[],bytes[])": TypedContractMethod<
    [left: BytesLike[], right: BytesLike[]],
    [void],
    "view"
  >;

  "assertEq(string[],string[],string)": TypedContractMethod<
    [left: string[], right: string[], error: string],
    [void],
    "view"
  >;

  "assertEq(string,string)": TypedContractMethod<
    [left: string, right: string],
    [void],
    "view"
  >;

  "assertEq(bytes[],bytes[],string)": TypedContractMethod<
    [left: BytesLike[], right: BytesLike[], error: string],
    [void],
    "view"
  >;

  "assertEq(bool,bool)": TypedContractMethod<
    [left: boolean, right: boolean],
    [void],
    "view"
  >;

  "assertEq(int256,int256)": TypedContractMethod<
    [left: BigNumberish, right: BigNumberish],
    [void],
    "view"
  >;

  "assertEqDecimal(uint256,uint256,uint256)": TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, decimals: BigNumberish],
    [void],
    "view"
  >;

  "assertEqDecimal(int256,int256,uint256)": TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, decimals: BigNumberish],
    [void],
    "view"
  >;

  "assertEqDecimal(int256,int256,uint256,string)": TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      decimals: BigNumberish,
      error: string
    ],
    [void],
    "view"
  >;

  "assertEqDecimal(uint256,uint256,uint256,string)": TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      decimals: BigNumberish,
      error: string
    ],
    [void],
    "view"
  >;

  "assertFalse(bool,string)": TypedContractMethod<
    [condition: boolean, error: string],
    [void],
    "view"
  >;

  "assertFalse(bool)": TypedContractMethod<
    [condition: boolean],
    [void],
    "view"
  >;

  "assertGe(int256,int256)": TypedContractMethod<
    [left: BigNumberish, right: BigNumberish],
    [void],
    "view"
  >;

  "assertGe(int256,int256,string)": TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, error: string],
    [void],
    "view"
  >;

  "assertGe(uint256,uint256)": TypedContractMethod<
    [left: BigNumberish, right: BigNumberish],
    [void],
    "view"
  >;

  "assertGe(uint256,uint256,string)": TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, error: string],
    [void],
    "view"
  >;

  "assertGeDecimal(uint256,uint256,uint256)": TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, decimals: BigNumberish],
    [void],
    "view"
  >;

  "assertGeDecimal(int256,int256,uint256,string)": TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      decimals: BigNumberish,
      error: string
    ],
    [void],
    "view"
  >;

  "assertGeDecimal(uint256,uint256,uint256,string)": TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      decimals: BigNumberish,
      error: string
    ],
    [void],
    "view"
  >;

  "assertGeDecimal(int256,int256,uint256)": TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, decimals: BigNumberish],
    [void],
    "view"
  >;

  "assertGt(int256,int256)": TypedContractMethod<
    [left: BigNumberish, right: BigNumberish],
    [void],
    "view"
  >;

  "assertGt(uint256,uint256,string)": TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, error: string],
    [void],
    "view"
  >;

  "assertGt(uint256,uint256)": TypedContractMethod<
    [left: BigNumberish, right: BigNumberish],
    [void],
    "view"
  >;

  "assertGt(int256,int256,string)": TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, error: string],
    [void],
    "view"
  >;

  "assertGtDecimal(int256,int256,uint256,string)": TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      decimals: BigNumberish,
      error: string
    ],
    [void],
    "view"
  >;

  "assertGtDecimal(uint256,uint256,uint256,string)": TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      decimals: BigNumberish,
      error: string
    ],
    [void],
    "view"
  >;

  "assertGtDecimal(int256,int256,uint256)": TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, decimals: BigNumberish],
    [void],
    "view"
  >;

  "assertGtDecimal(uint256,uint256,uint256)": TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, decimals: BigNumberish],
    [void],
    "view"
  >;

  "assertLe(int256,int256,string)": TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, error: string],
    [void],
    "view"
  >;

  "assertLe(uint256,uint256)": TypedContractMethod<
    [left: BigNumberish, right: BigNumberish],
    [void],
    "view"
  >;

  "assertLe(int256,int256)": TypedContractMethod<
    [left: BigNumberish, right: BigNumberish],
    [void],
    "view"
  >;

  "assertLe(uint256,uint256,string)": TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, error: string],
    [void],
    "view"
  >;

  "assertLeDecimal(int256,int256,uint256)": TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, decimals: BigNumberish],
    [void],
    "view"
  >;

  "assertLeDecimal(uint256,uint256,uint256,string)": TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      decimals: BigNumberish,
      error: string
    ],
    [void],
    "view"
  >;

  "assertLeDecimal(int256,int256,uint256,string)": TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      decimals: BigNumberish,
      error: string
    ],
    [void],
    "view"
  >;

  "assertLeDecimal(uint256,uint256,uint256)": TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, decimals: BigNumberish],
    [void],
    "view"
  >;

  "assertLt(int256,int256)": TypedContractMethod<
    [left: BigNumberish, right: BigNumberish],
    [void],
    "view"
  >;

  "assertLt(uint256,uint256,string)": TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, error: string],
    [void],
    "view"
  >;

  "assertLt(int256,int256,string)": TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, error: string],
    [void],
    "view"
  >;

  "assertLt(uint256,uint256)": TypedContractMethod<
    [left: BigNumberish, right: BigNumberish],
    [void],
    "view"
  >;

  "assertLtDecimal(uint256,uint256,uint256)": TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, decimals: BigNumberish],
    [void],
    "view"
  >;

  "assertLtDecimal(int256,int256,uint256,string)": TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      decimals: BigNumberish,
      error: string
    ],
    [void],
    "view"
  >;

  "assertLtDecimal(uint256,uint256,uint256,string)": TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      decimals: BigNumberish,
      error: string
    ],
    [void],
    "view"
  >;

  "assertLtDecimal(int256,int256,uint256)": TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, decimals: BigNumberish],
    [void],
    "view"
  >;

  "assertNotEq(bytes32[],bytes32[])": TypedContractMethod<
    [left: BytesLike[], right: BytesLike[]],
    [void],
    "view"
  >;

  "assertNotEq(int256[],int256[])": TypedContractMethod<
    [left: BigNumberish[], right: BigNumberish[]],
    [void],
    "view"
  >;

  "assertNotEq(bool,bool,string)": TypedContractMethod<
    [left: boolean, right: boolean, error: string],
    [void],
    "view"
  >;

  "assertNotEq(bytes[],bytes[],string)": TypedContractMethod<
    [left: BytesLike[], right: BytesLike[], error: string],
    [void],
    "view"
  >;

  "assertNotEq(bool,bool)": TypedContractMethod<
    [left: boolean, right: boolean],
    [void],
    "view"
  >;

  "assertNotEq(bool[],bool[])": TypedContractMethod<
    [left: boolean[], right: boolean[]],
    [void],
    "view"
  >;

  "assertNotEq(bytes,bytes)": TypedContractMethod<
    [left: BytesLike, right: BytesLike],
    [void],
    "view"
  >;

  "assertNotEq(address[],address[])": TypedContractMethod<
    [left: AddressLike[], right: AddressLike[]],
    [void],
    "view"
  >;

  "assertNotEq(int256,int256,string)": TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, error: string],
    [void],
    "view"
  >;

  "assertNotEq(uint256[],uint256[])": TypedContractMethod<
    [left: BigNumberish[], right: BigNumberish[]],
    [void],
    "view"
  >;

  "assertNotEq(bool[],bool[],string)": TypedContractMethod<
    [left: boolean[], right: boolean[], error: string],
    [void],
    "view"
  >;

  "assertNotEq(string,string)": TypedContractMethod<
    [left: string, right: string],
    [void],
    "view"
  >;

  "assertNotEq(address[],address[],string)": TypedContractMethod<
    [left: AddressLike[], right: AddressLike[], error: string],
    [void],
    "view"
  >;

  "assertNotEq(string,string,string)": TypedContractMethod<
    [left: string, right: string, error: string],
    [void],
    "view"
  >;

  "assertNotEq(address,address,string)": TypedContractMethod<
    [left: AddressLike, right: AddressLike, error: string],
    [void],
    "view"
  >;

  "assertNotEq(bytes32,bytes32)": TypedContractMethod<
    [left: BytesLike, right: BytesLike],
    [void],
    "view"
  >;

  "assertNotEq(bytes,bytes,string)": TypedContractMethod<
    [left: BytesLike, right: BytesLike, error: string],
    [void],
    "view"
  >;

  "assertNotEq(uint256,uint256,string)": TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, error: string],
    [void],
    "view"
  >;

  "assertNotEq(uint256[],uint256[],string)": TypedContractMethod<
    [left: BigNumberish[], right: BigNumberish[], error: string],
    [void],
    "view"
  >;

  "assertNotEq(address,address)": TypedContractMethod<
    [left: AddressLike, right: AddressLike],
    [void],
    "view"
  >;

  "assertNotEq(bytes32,bytes32,string)": TypedContractMethod<
    [left: BytesLike, right: BytesLike, error: string],
    [void],
    "view"
  >;

  "assertNotEq(string[],string[],string)": TypedContractMethod<
    [left: string[], right: string[], error: string],
    [void],
    "view"
  >;

  "assertNotEq(uint256,uint256)": TypedContractMethod<
    [left: BigNumberish, right: BigNumberish],
    [void],
    "view"
  >;

  "assertNotEq(bytes32[],bytes32[],string)": TypedContractMethod<
    [left: BytesLike[], right: BytesLike[], error: string],
    [void],
    "view"
  >;

  "assertNotEq(string[],string[])": TypedContractMethod<
    [left: string[], right: string[]],
    [void],
    "view"
  >;

  "assertNotEq(int256[],int256[],string)": TypedContractMethod<
    [left: BigNumberish[], right: BigNumberish[], error: string],
    [void],
    "view"
  >;

  "assertNotEq(bytes[],bytes[])": TypedContractMethod<
    [left: BytesLike[], right: BytesLike[]],
    [void],
    "view"
  >;

  "assertNotEq(int256,int256)": TypedContractMethod<
    [left: BigNumberish, right: BigNumberish],
    [void],
    "view"
  >;

  "assertNotEqDecimal(int256,int256,uint256)": TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, decimals: BigNumberish],
    [void],
    "view"
  >;

  "assertNotEqDecimal(int256,int256,uint256,string)": TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      decimals: BigNumberish,
      error: string
    ],
    [void],
    "view"
  >;

  "assertNotEqDecimal(uint256,uint256,uint256)": TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, decimals: BigNumberish],
    [void],
    "view"
  >;

  "assertNotEqDecimal(uint256,uint256,uint256,string)": TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      decimals: BigNumberish,
      error: string
    ],
    [void],
    "view"
  >;

  "assertTrue(bool)": TypedContractMethod<[condition: boolean], [void], "view">;

  "assertTrue(bool,string)": TypedContractMethod<
    [condition: boolean, error: string],
    [void],
    "view"
  >;

  assume: TypedContractMethod<[condition: boolean], [void], "view">;

  "assumeNoRevert()": TypedContractMethod<[], [void], "view">;

  "assumeNoRevert((address,bool,bytes)[])": TypedContractMethod<
    [potentialReverts: VmSafe.PotentialRevertStruct[]],
    [void],
    "view"
  >;

  "assumeNoRevert((address,bool,bytes))": TypedContractMethod<
    [potentialRevert: VmSafe.PotentialRevertStruct],
    [void],
    "view"
  >;

  attachBlob: TypedContractMethod<[blob: BytesLike], [void], "nonpayable">;

  attachDelegation: TypedContractMethod<
    [signedDelegation: VmSafe.SignedDelegationStruct],
    [void],
    "nonpayable"
  >;

  blobBaseFee: TypedContractMethod<
    [newBlobBaseFee: BigNumberish],
    [void],
    "nonpayable"
  >;

  blobhashes: TypedContractMethod<[hashes: BytesLike[]], [void], "nonpayable">;

  "breakpoint(string)": TypedContractMethod<[char: string], [void], "view">;

  "breakpoint(string,bool)": TypedContractMethod<
    [char: string, value: boolean],
    [void],
    "view"
  >;

  "broadcast()": TypedContractMethod<[], [void], "nonpayable">;

  "broadcast(address)": TypedContractMethod<
    [signer: AddressLike],
    [void],
    "nonpayable"
  >;

  "broadcast(uint256)": TypedContractMethod<
    [privateKey: BigNumberish],
    [void],
    "nonpayable"
  >;

  broadcastRawTransaction: TypedContractMethod<
    [data: BytesLike],
    [void],
    "nonpayable"
  >;

  chainId: TypedContractMethod<
    [newChainId: BigNumberish],
    [void],
    "nonpayable"
  >;

  clearMockedCalls: TypedContractMethod<[], [void], "nonpayable">;

  cloneAccount: TypedContractMethod<
    [source: AddressLike, target: AddressLike],
    [void],
    "nonpayable"
  >;

  closeFile: TypedContractMethod<[path: string], [void], "nonpayable">;

  coinbase: TypedContractMethod<
    [newCoinbase: AddressLike],
    [void],
    "nonpayable"
  >;

  "computeCreate2Address(bytes32,bytes32)": TypedContractMethod<
    [salt: BytesLike, initCodeHash: BytesLike],
    [string],
    "view"
  >;

  "computeCreate2Address(bytes32,bytes32,address)": TypedContractMethod<
    [salt: BytesLike, initCodeHash: BytesLike, deployer: AddressLike],
    [string],
    "view"
  >;

  computeCreateAddress: TypedContractMethod<
    [deployer: AddressLike, nonce: BigNumberish],
    [string],
    "view"
  >;

  contains: TypedContractMethod<
    [subject: string, search: string],
    [boolean],
    "nonpayable"
  >;

  cool: TypedContractMethod<[target: AddressLike], [void], "nonpayable">;

  coolSlot: TypedContractMethod<
    [target: AddressLike, slot: BytesLike],
    [void],
    "nonpayable"
  >;

  copyFile: TypedContractMethod<
    [from: string, to: string],
    [bigint],
    "nonpayable"
  >;

  copyStorage: TypedContractMethod<
    [from: AddressLike, to: AddressLike],
    [void],
    "nonpayable"
  >;

  createDir: TypedContractMethod<
    [path: string, recursive: boolean],
    [void],
    "nonpayable"
  >;

  "createFork(string)": TypedContractMethod<
    [urlOrAlias: string],
    [bigint],
    "nonpayable"
  >;

  "createFork(string,uint256)": TypedContractMethod<
    [urlOrAlias: string, blockNumber: BigNumberish],
    [bigint],
    "nonpayable"
  >;

  "createFork(string,bytes32)": TypedContractMethod<
    [urlOrAlias: string, txHash: BytesLike],
    [bigint],
    "nonpayable"
  >;

  "createSelectFork(string,uint256)": TypedContractMethod<
    [urlOrAlias: string, blockNumber: BigNumberish],
    [bigint],
    "nonpayable"
  >;

  "createSelectFork(string,bytes32)": TypedContractMethod<
    [urlOrAlias: string, txHash: BytesLike],
    [bigint],
    "nonpayable"
  >;

  "createSelectFork(string)": TypedContractMethod<
    [urlOrAlias: string],
    [bigint],
    "nonpayable"
  >;

  "createWallet(string)": TypedContractMethod<
    [walletLabel: string],
    [VmSafe.WalletStructOutput],
    "nonpayable"
  >;

  "createWallet(uint256)": TypedContractMethod<
    [privateKey: BigNumberish],
    [VmSafe.WalletStructOutput],
    "nonpayable"
  >;

  "createWallet(uint256,string)": TypedContractMethod<
    [privateKey: BigNumberish, walletLabel: string],
    [VmSafe.WalletStructOutput],
    "nonpayable"
  >;

  deal: TypedContractMethod<
    [account: AddressLike, newBalance: BigNumberish],
    [void],
    "nonpayable"
  >;

  deleteSnapshot: TypedContractMethod<
    [snapshotId: BigNumberish],
    [boolean],
    "nonpayable"
  >;

  deleteSnapshots: TypedContractMethod<[], [void], "nonpayable">;

  deleteStateSnapshot: TypedContractMethod<
    [snapshotId: BigNumberish],
    [boolean],
    "nonpayable"
  >;

  deleteStateSnapshots: TypedContractMethod<[], [void], "nonpayable">;

  "deployCode(string,uint256,bytes32)": TypedContractMethod<
    [artifactPath: string, value: BigNumberish, salt: BytesLike],
    [string],
    "nonpayable"
  >;

  "deployCode(string,bytes,bytes32)": TypedContractMethod<
    [artifactPath: string, constructorArgs: BytesLike, salt: BytesLike],
    [string],
    "nonpayable"
  >;

  "deployCode(string,uint256)": TypedContractMethod<
    [artifactPath: string, value: BigNumberish],
    [string],
    "nonpayable"
  >;

  "deployCode(string,bytes32)": TypedContractMethod<
    [artifactPath: string, salt: BytesLike],
    [string],
    "nonpayable"
  >;

  "deployCode(string,bytes)": TypedContractMethod<
    [artifactPath: string, constructorArgs: BytesLike],
    [string],
    "nonpayable"
  >;

  "deployCode(string,bytes,uint256,bytes32)": TypedContractMethod<
    [
      artifactPath: string,
      constructorArgs: BytesLike,
      value: BigNumberish,
      salt: BytesLike
    ],
    [string],
    "nonpayable"
  >;

  "deployCode(string)": TypedContractMethod<
    [artifactPath: string],
    [string],
    "nonpayable"
  >;

  "deployCode(string,bytes,uint256)": TypedContractMethod<
    [artifactPath: string, constructorArgs: BytesLike, value: BigNumberish],
    [string],
    "nonpayable"
  >;

  "deriveKey(string,string,uint32,string)": TypedContractMethod<
    [
      mnemonic: string,
      derivationPath: string,
      index: BigNumberish,
      language: string
    ],
    [bigint],
    "view"
  >;

  "deriveKey(string,uint32,string)": TypedContractMethod<
    [mnemonic: string, index: BigNumberish, language: string],
    [bigint],
    "view"
  >;

  "deriveKey(string,uint32)": TypedContractMethod<
    [mnemonic: string, index: BigNumberish],
    [bigint],
    "view"
  >;

  "deriveKey(string,string,uint32)": TypedContractMethod<
    [mnemonic: string, derivationPath: string, index: BigNumberish],
    [bigint],
    "view"
  >;

  difficulty: TypedContractMethod<
    [newDifficulty: BigNumberish],
    [void],
    "nonpayable"
  >;

  dumpState: TypedContractMethod<
    [pathToStateJson: string],
    [void],
    "nonpayable"
  >;

  ensNamehash: TypedContractMethod<[name: string], [string], "view">;

  "envAddress(string)": TypedContractMethod<[name: string], [string], "view">;

  "envAddress(string,string)": TypedContractMethod<
    [name: string, delim: string],
    [string[]],
    "view"
  >;

  "envBool(string)": TypedContractMethod<[name: string], [boolean], "view">;

  "envBool(string,string)": TypedContractMethod<
    [name: string, delim: string],
    [boolean[]],
    "view"
  >;

  "envBytes(string)": TypedContractMethod<[name: string], [string], "view">;

  "envBytes(string,string)": TypedContractMethod<
    [name: string, delim: string],
    [string[]],
    "view"
  >;

  "envBytes32(string,string)": TypedContractMethod<
    [name: string, delim: string],
    [string[]],
    "view"
  >;

  "envBytes32(string)": TypedContractMethod<[name: string], [string], "view">;

  envExists: TypedContractMethod<[name: string], [boolean], "view">;

  "envInt(string,string)": TypedContractMethod<
    [name: string, delim: string],
    [bigint[]],
    "view"
  >;

  "envInt(string)": TypedContractMethod<[name: string], [bigint], "view">;

  "envOr(string,string,bytes32[])": TypedContractMethod<
    [name: string, delim: string, defaultValue: BytesLike[]],
    [string[]],
    "view"
  >;

  "envOr(string,string,int256[])": TypedContractMethod<
    [name: string, delim: string, defaultValue: BigNumberish[]],
    [bigint[]],
    "view"
  >;

  "envOr(string,bool)": TypedContractMethod<
    [name: string, defaultValue: boolean],
    [boolean],
    "view"
  >;

  "envOr(string,address)": TypedContractMethod<
    [name: string, defaultValue: AddressLike],
    [string],
    "view"
  >;

  "envOr(string,uint256)": TypedContractMethod<
    [name: string, defaultValue: BigNumberish],
    [bigint],
    "view"
  >;

  "envOr(string,string,bytes[])": TypedContractMethod<
    [name: string, delim: string, defaultValue: BytesLike[]],
    [string[]],
    "view"
  >;

  "envOr(string,string,uint256[])": TypedContractMethod<
    [name: string, delim: string, defaultValue: BigNumberish[]],
    [bigint[]],
    "view"
  >;

  "envOr(string,string,string[])": TypedContractMethod<
    [name: string, delim: string, defaultValue: string[]],
    [string[]],
    "view"
  >;

  "envOr(string,bytes)": TypedContractMethod<
    [name: string, defaultValue: BytesLike],
    [string],
    "view"
  >;

  "envOr(string,bytes32)": TypedContractMethod<
    [name: string, defaultValue: BytesLike],
    [string],
    "view"
  >;

  "envOr(string,int256)": TypedContractMethod<
    [name: string, defaultValue: BigNumberish],
    [bigint],
    "view"
  >;

  "envOr(string,string,address[])": TypedContractMethod<
    [name: string, delim: string, defaultValue: AddressLike[]],
    [string[]],
    "view"
  >;

  "envOr(string,string)": TypedContractMethod<
    [name: string, defaultValue: string],
    [string],
    "view"
  >;

  "envOr(string,string,bool[])": TypedContractMethod<
    [name: string, delim: string, defaultValue: boolean[]],
    [boolean[]],
    "view"
  >;

  "envString(string,string)": TypedContractMethod<
    [name: string, delim: string],
    [string[]],
    "view"
  >;

  "envString(string)": TypedContractMethod<[name: string], [string], "view">;

  "envUint(string)": TypedContractMethod<[name: string], [bigint], "view">;

  "envUint(string,string)": TypedContractMethod<
    [name: string, delim: string],
    [bigint[]],
    "view"
  >;

  etch: TypedContractMethod<
    [target: AddressLike, newRuntimeBytecode: BytesLike],
    [void],
    "nonpayable"
  >;

  eth_getLogs: TypedContractMethod<
    [
      fromBlock: BigNumberish,
      toBlock: BigNumberish,
      target: AddressLike,
      topics: BytesLike[]
    ],
    [VmSafe.EthGetLogsStructOutput[]],
    "nonpayable"
  >;

  exists: TypedContractMethod<[path: string], [boolean], "view">;

  "expectCall(address,uint256,uint64,bytes)": TypedContractMethod<
    [
      callee: AddressLike,
      msgValue: BigNumberish,
      gas: BigNumberish,
      data: BytesLike
    ],
    [void],
    "nonpayable"
  >;

  "expectCall(address,uint256,uint64,bytes,uint64)": TypedContractMethod<
    [
      callee: AddressLike,
      msgValue: BigNumberish,
      gas: BigNumberish,
      data: BytesLike,
      count: BigNumberish
    ],
    [void],
    "nonpayable"
  >;

  "expectCall(address,uint256,bytes,uint64)": TypedContractMethod<
    [
      callee: AddressLike,
      msgValue: BigNumberish,
      data: BytesLike,
      count: BigNumberish
    ],
    [void],
    "nonpayable"
  >;

  "expectCall(address,bytes)": TypedContractMethod<
    [callee: AddressLike, data: BytesLike],
    [void],
    "nonpayable"
  >;

  "expectCall(address,bytes,uint64)": TypedContractMethod<
    [callee: AddressLike, data: BytesLike, count: BigNumberish],
    [void],
    "nonpayable"
  >;

  "expectCall(address,uint256,bytes)": TypedContractMethod<
    [callee: AddressLike, msgValue: BigNumberish, data: BytesLike],
    [void],
    "nonpayable"
  >;

  "expectCallMinGas(address,uint256,uint64,bytes)": TypedContractMethod<
    [
      callee: AddressLike,
      msgValue: BigNumberish,
      minGas: BigNumberish,
      data: BytesLike
    ],
    [void],
    "nonpayable"
  >;

  "expectCallMinGas(address,uint256,uint64,bytes,uint64)": TypedContractMethod<
    [
      callee: AddressLike,
      msgValue: BigNumberish,
      minGas: BigNumberish,
      data: BytesLike,
      count: BigNumberish
    ],
    [void],
    "nonpayable"
  >;

  expectCreate: TypedContractMethod<
    [bytecode: BytesLike, deployer: AddressLike],
    [void],
    "nonpayable"
  >;

  expectCreate2: TypedContractMethod<
    [bytecode: BytesLike, deployer: AddressLike],
    [void],
    "nonpayable"
  >;

  "expectEmit()": TypedContractMethod<[], [void], "nonpayable">;

  "expectEmit(bool,bool,bool,bool)": TypedContractMethod<
    [
      checkTopic1: boolean,
      checkTopic2: boolean,
      checkTopic3: boolean,
      checkData: boolean
    ],
    [void],
    "nonpayable"
  >;

  "expectEmit(uint64)": TypedContractMethod<
    [count: BigNumberish],
    [void],
    "nonpayable"
  >;

  "expectEmit(bool,bool,bool,bool,uint64)": TypedContractMethod<
    [
      checkTopic1: boolean,
      checkTopic2: boolean,
      checkTopic3: boolean,
      checkData: boolean,
      count: BigNumberish
    ],
    [void],
    "nonpayable"
  >;

  "expectEmit(bool,bool,bool,bool,address)": TypedContractMethod<
    [
      checkTopic1: boolean,
      checkTopic2: boolean,
      checkTopic3: boolean,
      checkData: boolean,
      emitter: AddressLike
    ],
    [void],
    "nonpayable"
  >;

  "expectEmit(address)": TypedContractMethod<
    [emitter: AddressLike],
    [void],
    "nonpayable"
  >;

  "expectEmit(address,uint64)": TypedContractMethod<
    [emitter: AddressLike, count: BigNumberish],
    [void],
    "nonpayable"
  >;

  "expectEmit(bool,bool,bool,bool,address,uint64)": TypedContractMethod<
    [
      checkTopic1: boolean,
      checkTopic2: boolean,
      checkTopic3: boolean,
      checkData: boolean,
      emitter: AddressLike,
      count: BigNumberish
    ],
    [void],
    "nonpayable"
  >;

  "expectEmitAnonymous()": TypedContractMethod<[], [void], "nonpayable">;

  "expectEmitAnonymous(address)": TypedContractMethod<
    [emitter: AddressLike],
    [void],
    "nonpayable"
  >;

  "expectEmitAnonymous(bool,bool,bool,bool,bool,address)": TypedContractMethod<
    [
      checkTopic0: boolean,
      checkTopic1: boolean,
      checkTopic2: boolean,
      checkTopic3: boolean,
      checkData: boolean,
      emitter: AddressLike
    ],
    [void],
    "nonpayable"
  >;

  "expectEmitAnonymous(bool,bool,bool,bool,bool)": TypedContractMethod<
    [
      checkTopic0: boolean,
      checkTopic1: boolean,
      checkTopic2: boolean,
      checkTopic3: boolean,
      checkData: boolean
    ],
    [void],
    "nonpayable"
  >;

  "expectPartialRevert(bytes4)": TypedContractMethod<
    [revertData: BytesLike],
    [void],
    "nonpayable"
  >;

  "expectPartialRevert(bytes4,address)": TypedContractMethod<
    [revertData: BytesLike, reverter: AddressLike],
    [void],
    "nonpayable"
  >;

  "expectRevert(address,uint64)": TypedContractMethod<
    [reverter: AddressLike, count: BigNumberish],
    [void],
    "nonpayable"
  >;

  "expectRevert(bytes4,address)": TypedContractMethod<
    [revertData: BytesLike, reverter: AddressLike],
    [void],
    "nonpayable"
  >;

  "expectRevert(bytes,uint64)": TypedContractMethod<
    [revertData: BytesLike, count: BigNumberish],
    [void],
    "nonpayable"
  >;

  "expectRevert(uint64)": TypedContractMethod<
    [count: BigNumberish],
    [void],
    "nonpayable"
  >;

  "expectRevert(bytes,address)": TypedContractMethod<
    [revertData: BytesLike, reverter: AddressLike],
    [void],
    "nonpayable"
  >;

  "expectRevert(bytes4,address,uint64)": TypedContractMethod<
    [revertData: BytesLike, reverter: AddressLike, count: BigNumberish],
    [void],
    "nonpayable"
  >;

  "expectRevert(bytes4)": TypedContractMethod<
    [revertData: BytesLike],
    [void],
    "nonpayable"
  >;

  "expectRevert(bytes,address,uint64)": TypedContractMethod<
    [revertData: BytesLike, reverter: AddressLike, count: BigNumberish],
    [void],
    "nonpayable"
  >;

  "expectRevert(address)": TypedContractMethod<
    [reverter: AddressLike],
    [void],
    "nonpayable"
  >;

  "expectRevert(bytes4,uint64)": TypedContractMethod<
    [revertData: BytesLike, count: BigNumberish],
    [void],
    "nonpayable"
  >;

  "expectRevert(bytes)": TypedContractMethod<
    [revertData: BytesLike],
    [void],
    "nonpayable"
  >;

  "expectRevert()": TypedContractMethod<[], [void], "nonpayable">;

  expectSafeMemory: TypedContractMethod<
    [min: BigNumberish, max: BigNumberish],
    [void],
    "nonpayable"
  >;

  expectSafeMemoryCall: TypedContractMethod<
    [min: BigNumberish, max: BigNumberish],
    [void],
    "nonpayable"
  >;

  fee: TypedContractMethod<[newBasefee: BigNumberish], [void], "nonpayable">;

  ffi: TypedContractMethod<[commandInput: string[]], [string], "nonpayable">;

  foundryVersionAtLeast: TypedContractMethod<
    [version: string],
    [boolean],
    "view"
  >;

  foundryVersionCmp: TypedContractMethod<[version: string], [bigint], "view">;

  fsMetadata: TypedContractMethod<
    [path: string],
    [VmSafe.FsMetadataStructOutput],
    "view"
  >;

  getArtifactPathByCode: TypedContractMethod<
    [code: BytesLike],
    [string],
    "view"
  >;

  getArtifactPathByDeployedCode: TypedContractMethod<
    [deployedCode: BytesLike],
    [string],
    "view"
  >;

  getBlobBaseFee: TypedContractMethod<[], [bigint], "view">;

  getBlobhashes: TypedContractMethod<[], [string[]], "view">;

  getBlockNumber: TypedContractMethod<[], [bigint], "view">;

  getBlockTimestamp: TypedContractMethod<[], [bigint], "view">;

  getBroadcast: TypedContractMethod<
    [contractName: string, chainId: BigNumberish, txType: BigNumberish],
    [VmSafe.BroadcastTxSummaryStructOutput],
    "view"
  >;

  "getBroadcasts(string,uint64)": TypedContractMethod<
    [contractName: string, chainId: BigNumberish],
    [VmSafe.BroadcastTxSummaryStructOutput[]],
    "view"
  >;

  "getBroadcasts(string,uint64,uint8)": TypedContractMethod<
    [contractName: string, chainId: BigNumberish, txType: BigNumberish],
    [VmSafe.BroadcastTxSummaryStructOutput[]],
    "view"
  >;

  "getChain(string)": TypedContractMethod<
    [chainAlias: string],
    [VmSafe.ChainStructOutput],
    "view"
  >;

  "getChain(uint256)": TypedContractMethod<
    [chainId: BigNumberish],
    [VmSafe.ChainStructOutput],
    "view"
  >;

  getCode: TypedContractMethod<[artifactPath: string], [string], "view">;

  getDeployedCode: TypedContractMethod<
    [artifactPath: string],
    [string],
    "view"
  >;

  "getDeployment(string,uint64)": TypedContractMethod<
    [contractName: string, chainId: BigNumberish],
    [string],
    "view"
  >;

  "getDeployment(string)": TypedContractMethod<
    [contractName: string],
    [string],
    "view"
  >;

  getDeployments: TypedContractMethod<
    [contractName: string, chainId: BigNumberish],
    [string[]],
    "view"
  >;

  getFoundryVersion: TypedContractMethod<[], [string], "view">;

  getLabel: TypedContractMethod<[account: AddressLike], [string], "view">;

  getMappingKeyAndParentOf: TypedContractMethod<
    [target: AddressLike, elementSlot: BytesLike],
    [
      [boolean, string, string] & {
        found: boolean;
        key: string;
        parent: string;
      }
    ],
    "nonpayable"
  >;

  getMappingLength: TypedContractMethod<
    [target: AddressLike, mappingSlot: BytesLike],
    [bigint],
    "nonpayable"
  >;

  getMappingSlotAt: TypedContractMethod<
    [target: AddressLike, mappingSlot: BytesLike, idx: BigNumberish],
    [string],
    "nonpayable"
  >;

  "getNonce(address)": TypedContractMethod<
    [account: AddressLike],
    [bigint],
    "view"
  >;

  "getNonce((address,uint256,uint256,uint256))": TypedContractMethod<
    [wallet: VmSafe.WalletStruct],
    [bigint],
    "nonpayable"
  >;

  getRecordedLogs: TypedContractMethod<
    [],
    [VmSafe.LogStructOutput[]],
    "nonpayable"
  >;

  getStateDiff: TypedContractMethod<[], [string], "view">;

  getStateDiffJson: TypedContractMethod<[], [string], "view">;

  getWallets: TypedContractMethod<[], [string[]], "nonpayable">;

  indexOf: TypedContractMethod<[input: string, key: string], [bigint], "view">;

  interceptInitcode: TypedContractMethod<[], [void], "nonpayable">;

  isContext: TypedContractMethod<[context: BigNumberish], [boolean], "view">;

  isDir: TypedContractMethod<[path: string], [boolean], "view">;

  isFile: TypedContractMethod<[path: string], [boolean], "view">;

  isPersistent: TypedContractMethod<[account: AddressLike], [boolean], "view">;

  keyExists: TypedContractMethod<
    [json: string, key: string],
    [boolean],
    "view"
  >;

  keyExistsJson: TypedContractMethod<
    [json: string, key: string],
    [boolean],
    "view"
  >;

  keyExistsToml: TypedContractMethod<
    [toml: string, key: string],
    [boolean],
    "view"
  >;

  label: TypedContractMethod<
    [account: AddressLike, newLabel: string],
    [void],
    "nonpayable"
  >;

  lastCallGas: TypedContractMethod<[], [VmSafe.GasStructOutput], "view">;

  load: TypedContractMethod<
    [target: AddressLike, slot: BytesLike],
    [string],
    "view"
  >;

  loadAllocs: TypedContractMethod<
    [pathToAllocsJson: string],
    [void],
    "nonpayable"
  >;

  "makePersistent(address[])": TypedContractMethod<
    [accounts: AddressLike[]],
    [void],
    "nonpayable"
  >;

  "makePersistent(address,address)": TypedContractMethod<
    [account0: AddressLike, account1: AddressLike],
    [void],
    "nonpayable"
  >;

  "makePersistent(address)": TypedContractMethod<
    [account: AddressLike],
    [void],
    "nonpayable"
  >;

  "makePersistent(address,address,address)": TypedContractMethod<
    [account0: AddressLike, account1: AddressLike, account2: AddressLike],
    [void],
    "nonpayable"
  >;

  "mockCall(address,bytes4,bytes)": TypedContractMethod<
    [callee: AddressLike, data: BytesLike, returnData: BytesLike],
    [void],
    "nonpayable"
  >;

  "mockCall(address,uint256,bytes,bytes)": TypedContractMethod<
    [
      callee: AddressLike,
      msgValue: BigNumberish,
      data: BytesLike,
      returnData: BytesLike
    ],
    [void],
    "nonpayable"
  >;

  "mockCall(address,bytes,bytes)": TypedContractMethod<
    [callee: AddressLike, data: BytesLike, returnData: BytesLike],
    [void],
    "nonpayable"
  >;

  "mockCall(address,uint256,bytes4,bytes)": TypedContractMethod<
    [
      callee: AddressLike,
      msgValue: BigNumberish,
      data: BytesLike,
      returnData: BytesLike
    ],
    [void],
    "nonpayable"
  >;

  "mockCallRevert(address,bytes4,bytes)": TypedContractMethod<
    [callee: AddressLike, data: BytesLike, revertData: BytesLike],
    [void],
    "nonpayable"
  >;

  "mockCallRevert(address,uint256,bytes4,bytes)": TypedContractMethod<
    [
      callee: AddressLike,
      msgValue: BigNumberish,
      data: BytesLike,
      revertData: BytesLike
    ],
    [void],
    "nonpayable"
  >;

  "mockCallRevert(address,uint256,bytes,bytes)": TypedContractMethod<
    [
      callee: AddressLike,
      msgValue: BigNumberish,
      data: BytesLike,
      revertData: BytesLike
    ],
    [void],
    "nonpayable"
  >;

  "mockCallRevert(address,bytes,bytes)": TypedContractMethod<
    [callee: AddressLike, data: BytesLike, revertData: BytesLike],
    [void],
    "nonpayable"
  >;

  "mockCalls(address,uint256,bytes,bytes[])": TypedContractMethod<
    [
      callee: AddressLike,
      msgValue: BigNumberish,
      data: BytesLike,
      returnData: BytesLike[]
    ],
    [void],
    "nonpayable"
  >;

  "mockCalls(address,bytes,bytes[])": TypedContractMethod<
    [callee: AddressLike, data: BytesLike, returnData: BytesLike[]],
    [void],
    "nonpayable"
  >;

  mockFunction: TypedContractMethod<
    [callee: AddressLike, target: AddressLike, data: BytesLike],
    [void],
    "nonpayable"
  >;

  noAccessList: TypedContractMethod<[], [void], "nonpayable">;

  parseAddress: TypedContractMethod<
    [stringifiedValue: string],
    [string],
    "view"
  >;

  parseBool: TypedContractMethod<[stringifiedValue: string], [boolean], "view">;

  parseBytes: TypedContractMethod<[stringifiedValue: string], [string], "view">;

  parseBytes32: TypedContractMethod<
    [stringifiedValue: string],
    [string],
    "view"
  >;

  parseInt: TypedContractMethod<[stringifiedValue: string], [bigint], "view">;

  "parseJson(string)": TypedContractMethod<[json: string], [string], "view">;

  "parseJson(string,string)": TypedContractMethod<
    [json: string, key: string],
    [string],
    "view"
  >;

  parseJsonAddress: TypedContractMethod<
    [json: string, key: string],
    [string],
    "view"
  >;

  parseJsonAddressArray: TypedContractMethod<
    [json: string, key: string],
    [string[]],
    "view"
  >;

  parseJsonBool: TypedContractMethod<
    [json: string, key: string],
    [boolean],
    "view"
  >;

  parseJsonBoolArray: TypedContractMethod<
    [json: string, key: string],
    [boolean[]],
    "view"
  >;

  parseJsonBytes: TypedContractMethod<
    [json: string, key: string],
    [string],
    "view"
  >;

  parseJsonBytes32: TypedContractMethod<
    [json: string, key: string],
    [string],
    "view"
  >;

  parseJsonBytes32Array: TypedContractMethod<
    [json: string, key: string],
    [string[]],
    "view"
  >;

  parseJsonBytesArray: TypedContractMethod<
    [json: string, key: string],
    [string[]],
    "view"
  >;

  parseJsonInt: TypedContractMethod<
    [json: string, key: string],
    [bigint],
    "view"
  >;

  parseJsonIntArray: TypedContractMethod<
    [json: string, key: string],
    [bigint[]],
    "view"
  >;

  parseJsonKeys: TypedContractMethod<
    [json: string, key: string],
    [string[]],
    "view"
  >;

  parseJsonString: TypedContractMethod<
    [json: string, key: string],
    [string],
    "view"
  >;

  parseJsonStringArray: TypedContractMethod<
    [json: string, key: string],
    [string[]],
    "view"
  >;

  "parseJsonType(string,string)": TypedContractMethod<
    [json: string, typeDescription: string],
    [string],
    "view"
  >;

  "parseJsonType(string,string,string)": TypedContractMethod<
    [json: string, key: string, typeDescription: string],
    [string],
    "view"
  >;

  parseJsonTypeArray: TypedContractMethod<
    [json: string, key: string, typeDescription: string],
    [string],
    "view"
  >;

  parseJsonUint: TypedContractMethod<
    [json: string, key: string],
    [bigint],
    "view"
  >;

  parseJsonUintArray: TypedContractMethod<
    [json: string, key: string],
    [bigint[]],
    "view"
  >;

  "parseToml(string,string)": TypedContractMethod<
    [toml: string, key: string],
    [string],
    "view"
  >;

  "parseToml(string)": TypedContractMethod<[toml: string], [string], "view">;

  parseTomlAddress: TypedContractMethod<
    [toml: string, key: string],
    [string],
    "view"
  >;

  parseTomlAddressArray: TypedContractMethod<
    [toml: string, key: string],
    [string[]],
    "view"
  >;

  parseTomlBool: TypedContractMethod<
    [toml: string, key: string],
    [boolean],
    "view"
  >;

  parseTomlBoolArray: TypedContractMethod<
    [toml: string, key: string],
    [boolean[]],
    "view"
  >;

  parseTomlBytes: TypedContractMethod<
    [toml: string, key: string],
    [string],
    "view"
  >;

  parseTomlBytes32: TypedContractMethod<
    [toml: string, key: string],
    [string],
    "view"
  >;

  parseTomlBytes32Array: TypedContractMethod<
    [toml: string, key: string],
    [string[]],
    "view"
  >;

  parseTomlBytesArray: TypedContractMethod<
    [toml: string, key: string],
    [string[]],
    "view"
  >;

  parseTomlInt: TypedContractMethod<
    [toml: string, key: string],
    [bigint],
    "view"
  >;

  parseTomlIntArray: TypedContractMethod<
    [toml: string, key: string],
    [bigint[]],
    "view"
  >;

  parseTomlKeys: TypedContractMethod<
    [toml: string, key: string],
    [string[]],
    "view"
  >;

  parseTomlString: TypedContractMethod<
    [toml: string, key: string],
    [string],
    "view"
  >;

  parseTomlStringArray: TypedContractMethod<
    [toml: string, key: string],
    [string[]],
    "view"
  >;

  "parseTomlType(string,string)": TypedContractMethod<
    [toml: string, typeDescription: string],
    [string],
    "view"
  >;

  "parseTomlType(string,string,string)": TypedContractMethod<
    [toml: string, key: string, typeDescription: string],
    [string],
    "view"
  >;

  parseTomlTypeArray: TypedContractMethod<
    [toml: string, key: string, typeDescription: string],
    [string],
    "view"
  >;

  parseTomlUint: TypedContractMethod<
    [toml: string, key: string],
    [bigint],
    "view"
  >;

  parseTomlUintArray: TypedContractMethod<
    [toml: string, key: string],
    [bigint[]],
    "view"
  >;

  parseUint: TypedContractMethod<[stringifiedValue: string], [bigint], "view">;

  pauseGasMetering: TypedContractMethod<[], [void], "nonpayable">;

  pauseTracing: TypedContractMethod<[], [void], "view">;

  "prank(address,address)": TypedContractMethod<
    [msgSender: AddressLike, txOrigin: AddressLike],
    [void],
    "nonpayable"
  >;

  "prank(address,address,bool)": TypedContractMethod<
    [msgSender: AddressLike, txOrigin: AddressLike, delegateCall: boolean],
    [void],
    "nonpayable"
  >;

  "prank(address,bool)": TypedContractMethod<
    [msgSender: AddressLike, delegateCall: boolean],
    [void],
    "nonpayable"
  >;

  "prank(address)": TypedContractMethod<
    [msgSender: AddressLike],
    [void],
    "nonpayable"
  >;

  "prevrandao(bytes32)": TypedContractMethod<
    [newPrevrandao: BytesLike],
    [void],
    "nonpayable"
  >;

  "prevrandao(uint256)": TypedContractMethod<
    [newPrevrandao: BigNumberish],
    [void],
    "nonpayable"
  >;

  projectRoot: TypedContractMethod<[], [string], "view">;

  prompt: TypedContractMethod<[promptText: string], [string], "nonpayable">;

  promptAddress: TypedContractMethod<
    [promptText: string],
    [string],
    "nonpayable"
  >;

  promptSecret: TypedContractMethod<
    [promptText: string],
    [string],
    "nonpayable"
  >;

  promptSecretUint: TypedContractMethod<
    [promptText: string],
    [bigint],
    "nonpayable"
  >;

  promptUint: TypedContractMethod<[promptText: string], [bigint], "nonpayable">;

  publicKeyP256: TypedContractMethod<
    [privateKey: BigNumberish],
    [[bigint, bigint] & { publicKeyX: bigint; publicKeyY: bigint }],
    "view"
  >;

  randomAddress: TypedContractMethod<[], [string], "nonpayable">;

  randomBool: TypedContractMethod<[], [boolean], "view">;

  randomBytes: TypedContractMethod<[len: BigNumberish], [string], "view">;

  randomBytes4: TypedContractMethod<[], [string], "view">;

  randomBytes8: TypedContractMethod<[], [string], "view">;

  "randomInt()": TypedContractMethod<[], [bigint], "view">;

  "randomInt(uint256)": TypedContractMethod<
    [bits: BigNumberish],
    [bigint],
    "view"
  >;

  "randomUint()": TypedContractMethod<[], [bigint], "nonpayable">;

  "randomUint(uint256)": TypedContractMethod<
    [bits: BigNumberish],
    [bigint],
    "view"
  >;

  "randomUint(uint256,uint256)": TypedContractMethod<
    [min: BigNumberish, max: BigNumberish],
    [bigint],
    "nonpayable"
  >;

  readCallers: TypedContractMethod<
    [],
    [
      [bigint, string, string] & {
        callerMode: bigint;
        msgSender: string;
        txOrigin: string;
      }
    ],
    "nonpayable"
  >;

  "readDir(string,uint64)": TypedContractMethod<
    [path: string, maxDepth: BigNumberish],
    [VmSafe.DirEntryStructOutput[]],
    "view"
  >;

  "readDir(string,uint64,bool)": TypedContractMethod<
    [path: string, maxDepth: BigNumberish, followLinks: boolean],
    [VmSafe.DirEntryStructOutput[]],
    "view"
  >;

  "readDir(string)": TypedContractMethod<
    [path: string],
    [VmSafe.DirEntryStructOutput[]],
    "view"
  >;

  readFile: TypedContractMethod<[path: string], [string], "view">;

  readFileBinary: TypedContractMethod<[path: string], [string], "view">;

  readLine: TypedContractMethod<[path: string], [string], "view">;

  readLink: TypedContractMethod<[linkPath: string], [string], "view">;

  record: TypedContractMethod<[], [void], "nonpayable">;

  recordLogs: TypedContractMethod<[], [void], "nonpayable">;

  rememberKey: TypedContractMethod<
    [privateKey: BigNumberish],
    [string],
    "nonpayable"
  >;

  "rememberKeys(string,string,uint32)": TypedContractMethod<
    [mnemonic: string, derivationPath: string, count: BigNumberish],
    [string[]],
    "nonpayable"
  >;

  "rememberKeys(string,string,string,uint32)": TypedContractMethod<
    [
      mnemonic: string,
      derivationPath: string,
      language: string,
      count: BigNumberish
    ],
    [string[]],
    "nonpayable"
  >;

  removeDir: TypedContractMethod<
    [path: string, recursive: boolean],
    [void],
    "nonpayable"
  >;

  removeFile: TypedContractMethod<[path: string], [void], "nonpayable">;

  replace: TypedContractMethod<
    [input: string, from: string, to: string],
    [string],
    "view"
  >;

  resetGasMetering: TypedContractMethod<[], [void], "nonpayable">;

  resetNonce: TypedContractMethod<[account: AddressLike], [void], "nonpayable">;

  resumeGasMetering: TypedContractMethod<[], [void], "nonpayable">;

  resumeTracing: TypedContractMethod<[], [void], "view">;

  revertTo: TypedContractMethod<
    [snapshotId: BigNumberish],
    [boolean],
    "nonpayable"
  >;

  revertToAndDelete: TypedContractMethod<
    [snapshotId: BigNumberish],
    [boolean],
    "nonpayable"
  >;

  revertToState: TypedContractMethod<
    [snapshotId: BigNumberish],
    [boolean],
    "nonpayable"
  >;

  revertToStateAndDelete: TypedContractMethod<
    [snapshotId: BigNumberish],
    [boolean],
    "nonpayable"
  >;

  "revokePersistent(address[])": TypedContractMethod<
    [accounts: AddressLike[]],
    [void],
    "nonpayable"
  >;

  "revokePersistent(address)": TypedContractMethod<
    [account: AddressLike],
    [void],
    "nonpayable"
  >;

  roll: TypedContractMethod<[newHeight: BigNumberish], [void], "nonpayable">;

  "rollFork(bytes32)": TypedContractMethod<
    [txHash: BytesLike],
    [void],
    "nonpayable"
  >;

  "rollFork(uint256,uint256)": TypedContractMethod<
    [forkId: BigNumberish, blockNumber: BigNumberish],
    [void],
    "nonpayable"
  >;

  "rollFork(uint256)": TypedContractMethod<
    [blockNumber: BigNumberish],
    [void],
    "nonpayable"
  >;

  "rollFork(uint256,bytes32)": TypedContractMethod<
    [forkId: BigNumberish, txHash: BytesLike],
    [void],
    "nonpayable"
  >;

  "rpc(string,string,string)": TypedContractMethod<
    [urlOrAlias: string, method: string, params: string],
    [string],
    "nonpayable"
  >;

  "rpc(string,string)": TypedContractMethod<
    [method: string, params: string],
    [string],
    "nonpayable"
  >;

  rpcUrl: TypedContractMethod<[rpcAlias: string], [string], "view">;

  rpcUrlStructs: TypedContractMethod<[], [VmSafe.RpcStructOutput[]], "view">;

  rpcUrls: TypedContractMethod<[], [[string, string][]], "view">;

  selectFork: TypedContractMethod<[forkId: BigNumberish], [void], "nonpayable">;

  "serializeAddress(string,string,address[])": TypedContractMethod<
    [objectKey: string, valueKey: string, values: AddressLike[]],
    [string],
    "nonpayable"
  >;

  "serializeAddress(string,string,address)": TypedContractMethod<
    [objectKey: string, valueKey: string, value: AddressLike],
    [string],
    "nonpayable"
  >;

  "serializeBool(string,string,bool[])": TypedContractMethod<
    [objectKey: string, valueKey: string, values: boolean[]],
    [string],
    "nonpayable"
  >;

  "serializeBool(string,string,bool)": TypedContractMethod<
    [objectKey: string, valueKey: string, value: boolean],
    [string],
    "nonpayable"
  >;

  "serializeBytes(string,string,bytes[])": TypedContractMethod<
    [objectKey: string, valueKey: string, values: BytesLike[]],
    [string],
    "nonpayable"
  >;

  "serializeBytes(string,string,bytes)": TypedContractMethod<
    [objectKey: string, valueKey: string, value: BytesLike],
    [string],
    "nonpayable"
  >;

  "serializeBytes32(string,string,bytes32[])": TypedContractMethod<
    [objectKey: string, valueKey: string, values: BytesLike[]],
    [string],
    "nonpayable"
  >;

  "serializeBytes32(string,string,bytes32)": TypedContractMethod<
    [objectKey: string, valueKey: string, value: BytesLike],
    [string],
    "nonpayable"
  >;

  "serializeInt(string,string,int256)": TypedContractMethod<
    [objectKey: string, valueKey: string, value: BigNumberish],
    [string],
    "nonpayable"
  >;

  "serializeInt(string,string,int256[])": TypedContractMethod<
    [objectKey: string, valueKey: string, values: BigNumberish[]],
    [string],
    "nonpayable"
  >;

  serializeJson: TypedContractMethod<
    [objectKey: string, value: string],
    [string],
    "nonpayable"
  >;

  "serializeJsonType(string,bytes)": TypedContractMethod<
    [typeDescription: string, value: BytesLike],
    [string],
    "view"
  >;

  "serializeJsonType(string,string,string,bytes)": TypedContractMethod<
    [
      objectKey: string,
      valueKey: string,
      typeDescription: string,
      value: BytesLike
    ],
    [string],
    "nonpayable"
  >;

  "serializeString(string,string,string[])": TypedContractMethod<
    [objectKey: string, valueKey: string, values: string[]],
    [string],
    "nonpayable"
  >;

  "serializeString(string,string,string)": TypedContractMethod<
    [objectKey: string, valueKey: string, value: string],
    [string],
    "nonpayable"
  >;

  "serializeUint(string,string,uint256)": TypedContractMethod<
    [objectKey: string, valueKey: string, value: BigNumberish],
    [string],
    "nonpayable"
  >;

  "serializeUint(string,string,uint256[])": TypedContractMethod<
    [objectKey: string, valueKey: string, values: BigNumberish[]],
    [string],
    "nonpayable"
  >;

  serializeUintToHex: TypedContractMethod<
    [objectKey: string, valueKey: string, value: BigNumberish],
    [string],
    "nonpayable"
  >;

  "setArbitraryStorage(address,bool)": TypedContractMethod<
    [target: AddressLike, overwrite: boolean],
    [void],
    "nonpayable"
  >;

  "setArbitraryStorage(address)": TypedContractMethod<
    [target: AddressLike],
    [void],
    "nonpayable"
  >;

  setBlockhash: TypedContractMethod<
    [blockNumber: BigNumberish, blockHash: BytesLike],
    [void],
    "nonpayable"
  >;

  setEnv: TypedContractMethod<
    [name: string, value: string],
    [void],
    "nonpayable"
  >;

  setNonce: TypedContractMethod<
    [account: AddressLike, newNonce: BigNumberish],
    [void],
    "nonpayable"
  >;

  setNonceUnsafe: TypedContractMethod<
    [account: AddressLike, newNonce: BigNumberish],
    [void],
    "nonpayable"
  >;

  shuffle: TypedContractMethod<
    [array: BigNumberish[]],
    [bigint[]],
    "nonpayable"
  >;

  "sign(bytes32)": TypedContractMethod<
    [digest: BytesLike],
    [[bigint, string, string] & { v: bigint; r: string; s: string }],
    "view"
  >;

  "sign(address,bytes32)": TypedContractMethod<
    [signer: AddressLike, digest: BytesLike],
    [[bigint, string, string] & { v: bigint; r: string; s: string }],
    "view"
  >;

  "sign((address,uint256,uint256,uint256),bytes32)": TypedContractMethod<
    [wallet: VmSafe.WalletStruct, digest: BytesLike],
    [[bigint, string, string] & { v: bigint; r: string; s: string }],
    "nonpayable"
  >;

  "sign(uint256,bytes32)": TypedContractMethod<
    [privateKey: BigNumberish, digest: BytesLike],
    [[bigint, string, string] & { v: bigint; r: string; s: string }],
    "view"
  >;

  "signAndAttachDelegation(address,uint256)": TypedContractMethod<
    [implementation: AddressLike, privateKey: BigNumberish],
    [VmSafe.SignedDelegationStructOutput],
    "nonpayable"
  >;

  "signAndAttachDelegation(address,uint256,uint64)": TypedContractMethod<
    [
      implementation: AddressLike,
      privateKey: BigNumberish,
      nonce: BigNumberish
    ],
    [VmSafe.SignedDelegationStructOutput],
    "nonpayable"
  >;

  "signCompact((address,uint256,uint256,uint256),bytes32)": TypedContractMethod<
    [wallet: VmSafe.WalletStruct, digest: BytesLike],
    [[string, string] & { r: string; vs: string }],
    "nonpayable"
  >;

  "signCompact(address,bytes32)": TypedContractMethod<
    [signer: AddressLike, digest: BytesLike],
    [[string, string] & { r: string; vs: string }],
    "view"
  >;

  "signCompact(bytes32)": TypedContractMethod<
    [digest: BytesLike],
    [[string, string] & { r: string; vs: string }],
    "view"
  >;

  "signCompact(uint256,bytes32)": TypedContractMethod<
    [privateKey: BigNumberish, digest: BytesLike],
    [[string, string] & { r: string; vs: string }],
    "view"
  >;

  "signDelegation(address,uint256)": TypedContractMethod<
    [implementation: AddressLike, privateKey: BigNumberish],
    [VmSafe.SignedDelegationStructOutput],
    "nonpayable"
  >;

  "signDelegation(address,uint256,uint64)": TypedContractMethod<
    [
      implementation: AddressLike,
      privateKey: BigNumberish,
      nonce: BigNumberish
    ],
    [VmSafe.SignedDelegationStructOutput],
    "nonpayable"
  >;

  signP256: TypedContractMethod<
    [privateKey: BigNumberish, digest: BytesLike],
    [[string, string] & { r: string; s: string }],
    "view"
  >;

  "skip(bool,string)": TypedContractMethod<
    [skipTest: boolean, reason: string],
    [void],
    "nonpayable"
  >;

  "skip(bool)": TypedContractMethod<[skipTest: boolean], [void], "nonpayable">;

  sleep: TypedContractMethod<[duration: BigNumberish], [void], "nonpayable">;

  snapshot: TypedContractMethod<[], [bigint], "nonpayable">;

  "snapshotGasLastCall(string,string)": TypedContractMethod<
    [group: string, name: string],
    [bigint],
    "nonpayable"
  >;

  "snapshotGasLastCall(string)": TypedContractMethod<
    [name: string],
    [bigint],
    "nonpayable"
  >;

  snapshotState: TypedContractMethod<[], [bigint], "nonpayable">;

  "snapshotValue(string,uint256)": TypedContractMethod<
    [name: string, value: BigNumberish],
    [void],
    "nonpayable"
  >;

  "snapshotValue(string,string,uint256)": TypedContractMethod<
    [group: string, name: string, value: BigNumberish],
    [void],
    "nonpayable"
  >;

  sort: TypedContractMethod<[array: BigNumberish[]], [bigint[]], "nonpayable">;

  split: TypedContractMethod<
    [input: string, delimiter: string],
    [string[]],
    "view"
  >;

  "startBroadcast()": TypedContractMethod<[], [void], "nonpayable">;

  "startBroadcast(address)": TypedContractMethod<
    [signer: AddressLike],
    [void],
    "nonpayable"
  >;

  "startBroadcast(uint256)": TypedContractMethod<
    [privateKey: BigNumberish],
    [void],
    "nonpayable"
  >;

  startDebugTraceRecording: TypedContractMethod<[], [void], "nonpayable">;

  startMappingRecording: TypedContractMethod<[], [void], "nonpayable">;

  "startPrank(address)": TypedContractMethod<
    [msgSender: AddressLike],
    [void],
    "nonpayable"
  >;

  "startPrank(address,bool)": TypedContractMethod<
    [msgSender: AddressLike, delegateCall: boolean],
    [void],
    "nonpayable"
  >;

  "startPrank(address,address)": TypedContractMethod<
    [msgSender: AddressLike, txOrigin: AddressLike],
    [void],
    "nonpayable"
  >;

  "startPrank(address,address,bool)": TypedContractMethod<
    [msgSender: AddressLike, txOrigin: AddressLike, delegateCall: boolean],
    [void],
    "nonpayable"
  >;

  "startSnapshotGas(string)": TypedContractMethod<
    [name: string],
    [void],
    "nonpayable"
  >;

  "startSnapshotGas(string,string)": TypedContractMethod<
    [group: string, name: string],
    [void],
    "nonpayable"
  >;

  startStateDiffRecording: TypedContractMethod<[], [void], "nonpayable">;

  stopAndReturnDebugTraceRecording: TypedContractMethod<
    [],
    [VmSafe.DebugStepStructOutput[]],
    "nonpayable"
  >;

  stopAndReturnStateDiff: TypedContractMethod<
    [],
    [VmSafe.AccountAccessStructOutput[]],
    "nonpayable"
  >;

  stopBroadcast: TypedContractMethod<[], [void], "nonpayable">;

  stopExpectSafeMemory: TypedContractMethod<[], [void], "nonpayable">;

  stopMappingRecording: TypedContractMethod<[], [void], "nonpayable">;

  stopPrank: TypedContractMethod<[], [void], "nonpayable">;

  "stopSnapshotGas(string,string)": TypedContractMethod<
    [group: string, name: string],
    [bigint],
    "nonpayable"
  >;

  "stopSnapshotGas(string)": TypedContractMethod<
    [name: string],
    [bigint],
    "nonpayable"
  >;

  "stopSnapshotGas()": TypedContractMethod<[], [bigint], "nonpayable">;

  store: TypedContractMethod<
    [target: AddressLike, slot: BytesLike, value: BytesLike],
    [void],
    "nonpayable"
  >;

  "toBase64(string)": TypedContractMethod<[data: string], [string], "view">;

  "toBase64(bytes)": TypedContractMethod<[data: BytesLike], [string], "view">;

  "toBase64URL(string)": TypedContractMethod<[data: string], [string], "view">;

  "toBase64URL(bytes)": TypedContractMethod<
    [data: BytesLike],
    [string],
    "view"
  >;

  toLowercase: TypedContractMethod<[input: string], [string], "view">;

  "toString(address)": TypedContractMethod<
    [value: AddressLike],
    [string],
    "view"
  >;

  "toString(uint256)": TypedContractMethod<
    [value: BigNumberish],
    [string],
    "view"
  >;

  "toString(bytes)": TypedContractMethod<[value: BytesLike], [string], "view">;

  "toString(bool)": TypedContractMethod<[value: boolean], [string], "view">;

  "toString(int256)": TypedContractMethod<
    [value: BigNumberish],
    [string],
    "view"
  >;

  "toString(bytes32)": TypedContractMethod<
    [value: BytesLike],
    [string],
    "view"
  >;

  toUppercase: TypedContractMethod<[input: string], [string], "view">;

  "transact(uint256,bytes32)": TypedContractMethod<
    [forkId: BigNumberish, txHash: BytesLike],
    [void],
    "nonpayable"
  >;

  "transact(bytes32)": TypedContractMethod<
    [txHash: BytesLike],
    [void],
    "nonpayable"
  >;

  trim: TypedContractMethod<[input: string], [string], "view">;

  tryFfi: TypedContractMethod<
    [commandInput: string[]],
    [VmSafe.FfiResultStructOutput],
    "nonpayable"
  >;

  txGasPrice: TypedContractMethod<
    [newGasPrice: BigNumberish],
    [void],
    "nonpayable"
  >;

  unixTime: TypedContractMethod<[], [bigint], "view">;

  warmSlot: TypedContractMethod<
    [target: AddressLike, slot: BytesLike],
    [void],
    "nonpayable"
  >;

  warp: TypedContractMethod<[newTimestamp: BigNumberish], [void], "nonpayable">;

  writeFile: TypedContractMethod<
    [path: string, data: string],
    [void],
    "nonpayable"
  >;

  writeFileBinary: TypedContractMethod<
    [path: string, data: BytesLike],
    [void],
    "nonpayable"
  >;

  "writeJson(string,string,string)": TypedContractMethod<
    [json: string, path: string, valueKey: string],
    [void],
    "nonpayable"
  >;

  "writeJson(string,string)": TypedContractMethod<
    [json: string, path: string],
    [void],
    "nonpayable"
  >;

  writeLine: TypedContractMethod<
    [path: string, data: string],
    [void],
    "nonpayable"
  >;

  "writeToml(string,string,string)": TypedContractMethod<
    [json: string, path: string, valueKey: string],
    [void],
    "nonpayable"
  >;

  "writeToml(string,string)": TypedContractMethod<
    [json: string, path: string],
    [void],
    "nonpayable"
  >;

  getFunction<T extends ContractMethod = ContractMethod>(
    key: string | FunctionFragment
  ): T;

  getFunction(
    nameOrSignature: "accessList"
  ): TypedContractMethod<
    [access: VmSafe.AccessListItemStruct[]],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "accesses"
  ): TypedContractMethod<
    [target: AddressLike],
    [[string[], string[]] & { readSlots: string[]; writeSlots: string[] }],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "activeFork"
  ): TypedContractMethod<[], [bigint], "view">;
  getFunction(
    nameOrSignature: "addr"
  ): TypedContractMethod<[privateKey: BigNumberish], [string], "view">;
  getFunction(
    nameOrSignature: "allowCheatcodes"
  ): TypedContractMethod<[account: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "assertApproxEqAbs(uint256,uint256,uint256)"
  ): TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, maxDelta: BigNumberish],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertApproxEqAbs(int256,int256,uint256)"
  ): TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, maxDelta: BigNumberish],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertApproxEqAbs(int256,int256,uint256,string)"
  ): TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      maxDelta: BigNumberish,
      error: string
    ],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertApproxEqAbs(uint256,uint256,uint256,string)"
  ): TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      maxDelta: BigNumberish,
      error: string
    ],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256)"
  ): TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      maxDelta: BigNumberish,
      decimals: BigNumberish
    ],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertApproxEqAbsDecimal(int256,int256,uint256,uint256)"
  ): TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      maxDelta: BigNumberish,
      decimals: BigNumberish
    ],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256,string)"
  ): TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      maxDelta: BigNumberish,
      decimals: BigNumberish,
      error: string
    ],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertApproxEqAbsDecimal(int256,int256,uint256,uint256,string)"
  ): TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      maxDelta: BigNumberish,
      decimals: BigNumberish,
      error: string
    ],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertApproxEqRel(uint256,uint256,uint256,string)"
  ): TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      maxPercentDelta: BigNumberish,
      error: string
    ],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertApproxEqRel(uint256,uint256,uint256)"
  ): TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, maxPercentDelta: BigNumberish],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertApproxEqRel(int256,int256,uint256,string)"
  ): TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      maxPercentDelta: BigNumberish,
      error: string
    ],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertApproxEqRel(int256,int256,uint256)"
  ): TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, maxPercentDelta: BigNumberish],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertApproxEqRelDecimal(uint256,uint256,uint256,uint256)"
  ): TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      maxPercentDelta: BigNumberish,
      decimals: BigNumberish
    ],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertApproxEqRelDecimal(uint256,uint256,uint256,uint256,string)"
  ): TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      maxPercentDelta: BigNumberish,
      decimals: BigNumberish,
      error: string
    ],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertApproxEqRelDecimal(int256,int256,uint256,uint256)"
  ): TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      maxPercentDelta: BigNumberish,
      decimals: BigNumberish
    ],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertApproxEqRelDecimal(int256,int256,uint256,uint256,string)"
  ): TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      maxPercentDelta: BigNumberish,
      decimals: BigNumberish,
      error: string
    ],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertEq(bytes32[],bytes32[])"
  ): TypedContractMethod<
    [left: BytesLike[], right: BytesLike[]],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertEq(int256[],int256[],string)"
  ): TypedContractMethod<
    [left: BigNumberish[], right: BigNumberish[], error: string],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertEq(address,address,string)"
  ): TypedContractMethod<
    [left: AddressLike, right: AddressLike, error: string],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertEq(string,string,string)"
  ): TypedContractMethod<
    [left: string, right: string, error: string],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertEq(address[],address[])"
  ): TypedContractMethod<
    [left: AddressLike[], right: AddressLike[]],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertEq(address[],address[],string)"
  ): TypedContractMethod<
    [left: AddressLike[], right: AddressLike[], error: string],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertEq(bool,bool,string)"
  ): TypedContractMethod<
    [left: boolean, right: boolean, error: string],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertEq(address,address)"
  ): TypedContractMethod<
    [left: AddressLike, right: AddressLike],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertEq(uint256[],uint256[],string)"
  ): TypedContractMethod<
    [left: BigNumberish[], right: BigNumberish[], error: string],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertEq(bool[],bool[])"
  ): TypedContractMethod<[left: boolean[], right: boolean[]], [void], "view">;
  getFunction(
    nameOrSignature: "assertEq(int256[],int256[])"
  ): TypedContractMethod<
    [left: BigNumberish[], right: BigNumberish[]],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertEq(int256,int256,string)"
  ): TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, error: string],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertEq(bytes32,bytes32)"
  ): TypedContractMethod<[left: BytesLike, right: BytesLike], [void], "view">;
  getFunction(
    nameOrSignature: "assertEq(uint256,uint256,string)"
  ): TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, error: string],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertEq(uint256[],uint256[])"
  ): TypedContractMethod<
    [left: BigNumberish[], right: BigNumberish[]],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertEq(bytes,bytes)"
  ): TypedContractMethod<[left: BytesLike, right: BytesLike], [void], "view">;
  getFunction(
    nameOrSignature: "assertEq(uint256,uint256)"
  ): TypedContractMethod<
    [left: BigNumberish, right: BigNumberish],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertEq(bytes32,bytes32,string)"
  ): TypedContractMethod<
    [left: BytesLike, right: BytesLike, error: string],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertEq(string[],string[])"
  ): TypedContractMethod<[left: string[], right: string[]], [void], "view">;
  getFunction(
    nameOrSignature: "assertEq(bytes32[],bytes32[],string)"
  ): TypedContractMethod<
    [left: BytesLike[], right: BytesLike[], error: string],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertEq(bytes,bytes,string)"
  ): TypedContractMethod<
    [left: BytesLike, right: BytesLike, error: string],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertEq(bool[],bool[],string)"
  ): TypedContractMethod<
    [left: boolean[], right: boolean[], error: string],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertEq(bytes[],bytes[])"
  ): TypedContractMethod<
    [left: BytesLike[], right: BytesLike[]],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertEq(string[],string[],string)"
  ): TypedContractMethod<
    [left: string[], right: string[], error: string],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertEq(string,string)"
  ): TypedContractMethod<[left: string, right: string], [void], "view">;
  getFunction(
    nameOrSignature: "assertEq(bytes[],bytes[],string)"
  ): TypedContractMethod<
    [left: BytesLike[], right: BytesLike[], error: string],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertEq(bool,bool)"
  ): TypedContractMethod<[left: boolean, right: boolean], [void], "view">;
  getFunction(
    nameOrSignature: "assertEq(int256,int256)"
  ): TypedContractMethod<
    [left: BigNumberish, right: BigNumberish],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertEqDecimal(uint256,uint256,uint256)"
  ): TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, decimals: BigNumberish],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertEqDecimal(int256,int256,uint256)"
  ): TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, decimals: BigNumberish],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertEqDecimal(int256,int256,uint256,string)"
  ): TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      decimals: BigNumberish,
      error: string
    ],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertEqDecimal(uint256,uint256,uint256,string)"
  ): TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      decimals: BigNumberish,
      error: string
    ],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertFalse(bool,string)"
  ): TypedContractMethod<[condition: boolean, error: string], [void], "view">;
  getFunction(
    nameOrSignature: "assertFalse(bool)"
  ): TypedContractMethod<[condition: boolean], [void], "view">;
  getFunction(
    nameOrSignature: "assertGe(int256,int256)"
  ): TypedContractMethod<
    [left: BigNumberish, right: BigNumberish],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertGe(int256,int256,string)"
  ): TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, error: string],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertGe(uint256,uint256)"
  ): TypedContractMethod<
    [left: BigNumberish, right: BigNumberish],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertGe(uint256,uint256,string)"
  ): TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, error: string],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertGeDecimal(uint256,uint256,uint256)"
  ): TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, decimals: BigNumberish],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertGeDecimal(int256,int256,uint256,string)"
  ): TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      decimals: BigNumberish,
      error: string
    ],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertGeDecimal(uint256,uint256,uint256,string)"
  ): TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      decimals: BigNumberish,
      error: string
    ],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertGeDecimal(int256,int256,uint256)"
  ): TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, decimals: BigNumberish],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertGt(int256,int256)"
  ): TypedContractMethod<
    [left: BigNumberish, right: BigNumberish],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertGt(uint256,uint256,string)"
  ): TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, error: string],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertGt(uint256,uint256)"
  ): TypedContractMethod<
    [left: BigNumberish, right: BigNumberish],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertGt(int256,int256,string)"
  ): TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, error: string],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertGtDecimal(int256,int256,uint256,string)"
  ): TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      decimals: BigNumberish,
      error: string
    ],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertGtDecimal(uint256,uint256,uint256,string)"
  ): TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      decimals: BigNumberish,
      error: string
    ],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertGtDecimal(int256,int256,uint256)"
  ): TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, decimals: BigNumberish],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertGtDecimal(uint256,uint256,uint256)"
  ): TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, decimals: BigNumberish],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertLe(int256,int256,string)"
  ): TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, error: string],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertLe(uint256,uint256)"
  ): TypedContractMethod<
    [left: BigNumberish, right: BigNumberish],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertLe(int256,int256)"
  ): TypedContractMethod<
    [left: BigNumberish, right: BigNumberish],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertLe(uint256,uint256,string)"
  ): TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, error: string],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertLeDecimal(int256,int256,uint256)"
  ): TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, decimals: BigNumberish],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertLeDecimal(uint256,uint256,uint256,string)"
  ): TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      decimals: BigNumberish,
      error: string
    ],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertLeDecimal(int256,int256,uint256,string)"
  ): TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      decimals: BigNumberish,
      error: string
    ],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertLeDecimal(uint256,uint256,uint256)"
  ): TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, decimals: BigNumberish],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertLt(int256,int256)"
  ): TypedContractMethod<
    [left: BigNumberish, right: BigNumberish],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertLt(uint256,uint256,string)"
  ): TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, error: string],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertLt(int256,int256,string)"
  ): TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, error: string],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertLt(uint256,uint256)"
  ): TypedContractMethod<
    [left: BigNumberish, right: BigNumberish],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertLtDecimal(uint256,uint256,uint256)"
  ): TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, decimals: BigNumberish],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertLtDecimal(int256,int256,uint256,string)"
  ): TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      decimals: BigNumberish,
      error: string
    ],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertLtDecimal(uint256,uint256,uint256,string)"
  ): TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      decimals: BigNumberish,
      error: string
    ],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertLtDecimal(int256,int256,uint256)"
  ): TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, decimals: BigNumberish],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertNotEq(bytes32[],bytes32[])"
  ): TypedContractMethod<
    [left: BytesLike[], right: BytesLike[]],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertNotEq(int256[],int256[])"
  ): TypedContractMethod<
    [left: BigNumberish[], right: BigNumberish[]],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertNotEq(bool,bool,string)"
  ): TypedContractMethod<
    [left: boolean, right: boolean, error: string],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertNotEq(bytes[],bytes[],string)"
  ): TypedContractMethod<
    [left: BytesLike[], right: BytesLike[], error: string],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertNotEq(bool,bool)"
  ): TypedContractMethod<[left: boolean, right: boolean], [void], "view">;
  getFunction(
    nameOrSignature: "assertNotEq(bool[],bool[])"
  ): TypedContractMethod<[left: boolean[], right: boolean[]], [void], "view">;
  getFunction(
    nameOrSignature: "assertNotEq(bytes,bytes)"
  ): TypedContractMethod<[left: BytesLike, right: BytesLike], [void], "view">;
  getFunction(
    nameOrSignature: "assertNotEq(address[],address[])"
  ): TypedContractMethod<
    [left: AddressLike[], right: AddressLike[]],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertNotEq(int256,int256,string)"
  ): TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, error: string],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertNotEq(uint256[],uint256[])"
  ): TypedContractMethod<
    [left: BigNumberish[], right: BigNumberish[]],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertNotEq(bool[],bool[],string)"
  ): TypedContractMethod<
    [left: boolean[], right: boolean[], error: string],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertNotEq(string,string)"
  ): TypedContractMethod<[left: string, right: string], [void], "view">;
  getFunction(
    nameOrSignature: "assertNotEq(address[],address[],string)"
  ): TypedContractMethod<
    [left: AddressLike[], right: AddressLike[], error: string],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertNotEq(string,string,string)"
  ): TypedContractMethod<
    [left: string, right: string, error: string],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertNotEq(address,address,string)"
  ): TypedContractMethod<
    [left: AddressLike, right: AddressLike, error: string],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertNotEq(bytes32,bytes32)"
  ): TypedContractMethod<[left: BytesLike, right: BytesLike], [void], "view">;
  getFunction(
    nameOrSignature: "assertNotEq(bytes,bytes,string)"
  ): TypedContractMethod<
    [left: BytesLike, right: BytesLike, error: string],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertNotEq(uint256,uint256,string)"
  ): TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, error: string],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertNotEq(uint256[],uint256[],string)"
  ): TypedContractMethod<
    [left: BigNumberish[], right: BigNumberish[], error: string],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertNotEq(address,address)"
  ): TypedContractMethod<
    [left: AddressLike, right: AddressLike],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertNotEq(bytes32,bytes32,string)"
  ): TypedContractMethod<
    [left: BytesLike, right: BytesLike, error: string],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertNotEq(string[],string[],string)"
  ): TypedContractMethod<
    [left: string[], right: string[], error: string],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertNotEq(uint256,uint256)"
  ): TypedContractMethod<
    [left: BigNumberish, right: BigNumberish],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertNotEq(bytes32[],bytes32[],string)"
  ): TypedContractMethod<
    [left: BytesLike[], right: BytesLike[], error: string],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertNotEq(string[],string[])"
  ): TypedContractMethod<[left: string[], right: string[]], [void], "view">;
  getFunction(
    nameOrSignature: "assertNotEq(int256[],int256[],string)"
  ): TypedContractMethod<
    [left: BigNumberish[], right: BigNumberish[], error: string],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertNotEq(bytes[],bytes[])"
  ): TypedContractMethod<
    [left: BytesLike[], right: BytesLike[]],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertNotEq(int256,int256)"
  ): TypedContractMethod<
    [left: BigNumberish, right: BigNumberish],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertNotEqDecimal(int256,int256,uint256)"
  ): TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, decimals: BigNumberish],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertNotEqDecimal(int256,int256,uint256,string)"
  ): TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      decimals: BigNumberish,
      error: string
    ],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertNotEqDecimal(uint256,uint256,uint256)"
  ): TypedContractMethod<
    [left: BigNumberish, right: BigNumberish, decimals: BigNumberish],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertNotEqDecimal(uint256,uint256,uint256,string)"
  ): TypedContractMethod<
    [
      left: BigNumberish,
      right: BigNumberish,
      decimals: BigNumberish,
      error: string
    ],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assertTrue(bool)"
  ): TypedContractMethod<[condition: boolean], [void], "view">;
  getFunction(
    nameOrSignature: "assertTrue(bool,string)"
  ): TypedContractMethod<[condition: boolean, error: string], [void], "view">;
  getFunction(
    nameOrSignature: "assume"
  ): TypedContractMethod<[condition: boolean], [void], "view">;
  getFunction(
    nameOrSignature: "assumeNoRevert()"
  ): TypedContractMethod<[], [void], "view">;
  getFunction(
    nameOrSignature: "assumeNoRevert((address,bool,bytes)[])"
  ): TypedContractMethod<
    [potentialReverts: VmSafe.PotentialRevertStruct[]],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "assumeNoRevert((address,bool,bytes))"
  ): TypedContractMethod<
    [potentialRevert: VmSafe.PotentialRevertStruct],
    [void],
    "view"
  >;
  getFunction(
    nameOrSignature: "attachBlob"
  ): TypedContractMethod<[blob: BytesLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "attachDelegation"
  ): TypedContractMethod<
    [signedDelegation: VmSafe.SignedDelegationStruct],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "blobBaseFee"
  ): TypedContractMethod<[newBlobBaseFee: BigNumberish], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "blobhashes"
  ): TypedContractMethod<[hashes: BytesLike[]], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "breakpoint(string)"
  ): TypedContractMethod<[char: string], [void], "view">;
  getFunction(
    nameOrSignature: "breakpoint(string,bool)"
  ): TypedContractMethod<[char: string, value: boolean], [void], "view">;
  getFunction(
    nameOrSignature: "broadcast()"
  ): TypedContractMethod<[], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "broadcast(address)"
  ): TypedContractMethod<[signer: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "broadcast(uint256)"
  ): TypedContractMethod<[privateKey: BigNumberish], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "broadcastRawTransaction"
  ): TypedContractMethod<[data: BytesLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "chainId"
  ): TypedContractMethod<[newChainId: BigNumberish], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "clearMockedCalls"
  ): TypedContractMethod<[], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "cloneAccount"
  ): TypedContractMethod<
    [source: AddressLike, target: AddressLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "closeFile"
  ): TypedContractMethod<[path: string], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "coinbase"
  ): TypedContractMethod<[newCoinbase: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "computeCreate2Address(bytes32,bytes32)"
  ): TypedContractMethod<
    [salt: BytesLike, initCodeHash: BytesLike],
    [string],
    "view"
  >;
  getFunction(
    nameOrSignature: "computeCreate2Address(bytes32,bytes32,address)"
  ): TypedContractMethod<
    [salt: BytesLike, initCodeHash: BytesLike, deployer: AddressLike],
    [string],
    "view"
  >;
  getFunction(
    nameOrSignature: "computeCreateAddress"
  ): TypedContractMethod<
    [deployer: AddressLike, nonce: BigNumberish],
    [string],
    "view"
  >;
  getFunction(
    nameOrSignature: "contains"
  ): TypedContractMethod<
    [subject: string, search: string],
    [boolean],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "cool"
  ): TypedContractMethod<[target: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "coolSlot"
  ): TypedContractMethod<
    [target: AddressLike, slot: BytesLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "copyFile"
  ): TypedContractMethod<[from: string, to: string], [bigint], "nonpayable">;
  getFunction(
    nameOrSignature: "copyStorage"
  ): TypedContractMethod<
    [from: AddressLike, to: AddressLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "createDir"
  ): TypedContractMethod<
    [path: string, recursive: boolean],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "createFork(string)"
  ): TypedContractMethod<[urlOrAlias: string], [bigint], "nonpayable">;
  getFunction(
    nameOrSignature: "createFork(string,uint256)"
  ): TypedContractMethod<
    [urlOrAlias: string, blockNumber: BigNumberish],
    [bigint],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "createFork(string,bytes32)"
  ): TypedContractMethod<
    [urlOrAlias: string, txHash: BytesLike],
    [bigint],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "createSelectFork(string,uint256)"
  ): TypedContractMethod<
    [urlOrAlias: string, blockNumber: BigNumberish],
    [bigint],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "createSelectFork(string,bytes32)"
  ): TypedContractMethod<
    [urlOrAlias: string, txHash: BytesLike],
    [bigint],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "createSelectFork(string)"
  ): TypedContractMethod<[urlOrAlias: string], [bigint], "nonpayable">;
  getFunction(
    nameOrSignature: "createWallet(string)"
  ): TypedContractMethod<
    [walletLabel: string],
    [VmSafe.WalletStructOutput],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "createWallet(uint256)"
  ): TypedContractMethod<
    [privateKey: BigNumberish],
    [VmSafe.WalletStructOutput],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "createWallet(uint256,string)"
  ): TypedContractMethod<
    [privateKey: BigNumberish, walletLabel: string],
    [VmSafe.WalletStructOutput],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "deal"
  ): TypedContractMethod<
    [account: AddressLike, newBalance: BigNumberish],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "deleteSnapshot"
  ): TypedContractMethod<[snapshotId: BigNumberish], [boolean], "nonpayable">;
  getFunction(
    nameOrSignature: "deleteSnapshots"
  ): TypedContractMethod<[], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "deleteStateSnapshot"
  ): TypedContractMethod<[snapshotId: BigNumberish], [boolean], "nonpayable">;
  getFunction(
    nameOrSignature: "deleteStateSnapshots"
  ): TypedContractMethod<[], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "deployCode(string,uint256,bytes32)"
  ): TypedContractMethod<
    [artifactPath: string, value: BigNumberish, salt: BytesLike],
    [string],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "deployCode(string,bytes,bytes32)"
  ): TypedContractMethod<
    [artifactPath: string, constructorArgs: BytesLike, salt: BytesLike],
    [string],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "deployCode(string,uint256)"
  ): TypedContractMethod<
    [artifactPath: string, value: BigNumberish],
    [string],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "deployCode(string,bytes32)"
  ): TypedContractMethod<
    [artifactPath: string, salt: BytesLike],
    [string],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "deployCode(string,bytes)"
  ): TypedContractMethod<
    [artifactPath: string, constructorArgs: BytesLike],
    [string],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "deployCode(string,bytes,uint256,bytes32)"
  ): TypedContractMethod<
    [
      artifactPath: string,
      constructorArgs: BytesLike,
      value: BigNumberish,
      salt: BytesLike
    ],
    [string],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "deployCode(string)"
  ): TypedContractMethod<[artifactPath: string], [string], "nonpayable">;
  getFunction(
    nameOrSignature: "deployCode(string,bytes,uint256)"
  ): TypedContractMethod<
    [artifactPath: string, constructorArgs: BytesLike, value: BigNumberish],
    [string],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "deriveKey(string,string,uint32,string)"
  ): TypedContractMethod<
    [
      mnemonic: string,
      derivationPath: string,
      index: BigNumberish,
      language: string
    ],
    [bigint],
    "view"
  >;
  getFunction(
    nameOrSignature: "deriveKey(string,uint32,string)"
  ): TypedContractMethod<
    [mnemonic: string, index: BigNumberish, language: string],
    [bigint],
    "view"
  >;
  getFunction(
    nameOrSignature: "deriveKey(string,uint32)"
  ): TypedContractMethod<
    [mnemonic: string, index: BigNumberish],
    [bigint],
    "view"
  >;
  getFunction(
    nameOrSignature: "deriveKey(string,string,uint32)"
  ): TypedContractMethod<
    [mnemonic: string, derivationPath: string, index: BigNumberish],
    [bigint],
    "view"
  >;
  getFunction(
    nameOrSignature: "difficulty"
  ): TypedContractMethod<[newDifficulty: BigNumberish], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "dumpState"
  ): TypedContractMethod<[pathToStateJson: string], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "ensNamehash"
  ): TypedContractMethod<[name: string], [string], "view">;
  getFunction(
    nameOrSignature: "envAddress(string)"
  ): TypedContractMethod<[name: string], [string], "view">;
  getFunction(
    nameOrSignature: "envAddress(string,string)"
  ): TypedContractMethod<[name: string, delim: string], [string[]], "view">;
  getFunction(
    nameOrSignature: "envBool(string)"
  ): TypedContractMethod<[name: string], [boolean], "view">;
  getFunction(
    nameOrSignature: "envBool(string,string)"
  ): TypedContractMethod<[name: string, delim: string], [boolean[]], "view">;
  getFunction(
    nameOrSignature: "envBytes(string)"
  ): TypedContractMethod<[name: string], [string], "view">;
  getFunction(
    nameOrSignature: "envBytes(string,string)"
  ): TypedContractMethod<[name: string, delim: string], [string[]], "view">;
  getFunction(
    nameOrSignature: "envBytes32(string,string)"
  ): TypedContractMethod<[name: string, delim: string], [string[]], "view">;
  getFunction(
    nameOrSignature: "envBytes32(string)"
  ): TypedContractMethod<[name: string], [string], "view">;
  getFunction(
    nameOrSignature: "envExists"
  ): TypedContractMethod<[name: string], [boolean], "view">;
  getFunction(
    nameOrSignature: "envInt(string,string)"
  ): TypedContractMethod<[name: string, delim: string], [bigint[]], "view">;
  getFunction(
    nameOrSignature: "envInt(string)"
  ): TypedContractMethod<[name: string], [bigint], "view">;
  getFunction(
    nameOrSignature: "envOr(string,string,bytes32[])"
  ): TypedContractMethod<
    [name: string, delim: string, defaultValue: BytesLike[]],
    [string[]],
    "view"
  >;
  getFunction(
    nameOrSignature: "envOr(string,string,int256[])"
  ): TypedContractMethod<
    [name: string, delim: string, defaultValue: BigNumberish[]],
    [bigint[]],
    "view"
  >;
  getFunction(
    nameOrSignature: "envOr(string,bool)"
  ): TypedContractMethod<
    [name: string, defaultValue: boolean],
    [boolean],
    "view"
  >;
  getFunction(
    nameOrSignature: "envOr(string,address)"
  ): TypedContractMethod<
    [name: string, defaultValue: AddressLike],
    [string],
    "view"
  >;
  getFunction(
    nameOrSignature: "envOr(string,uint256)"
  ): TypedContractMethod<
    [name: string, defaultValue: BigNumberish],
    [bigint],
    "view"
  >;
  getFunction(
    nameOrSignature: "envOr(string,string,bytes[])"
  ): TypedContractMethod<
    [name: string, delim: string, defaultValue: BytesLike[]],
    [string[]],
    "view"
  >;
  getFunction(
    nameOrSignature: "envOr(string,string,uint256[])"
  ): TypedContractMethod<
    [name: string, delim: string, defaultValue: BigNumberish[]],
    [bigint[]],
    "view"
  >;
  getFunction(
    nameOrSignature: "envOr(string,string,string[])"
  ): TypedContractMethod<
    [name: string, delim: string, defaultValue: string[]],
    [string[]],
    "view"
  >;
  getFunction(
    nameOrSignature: "envOr(string,bytes)"
  ): TypedContractMethod<
    [name: string, defaultValue: BytesLike],
    [string],
    "view"
  >;
  getFunction(
    nameOrSignature: "envOr(string,bytes32)"
  ): TypedContractMethod<
    [name: string, defaultValue: BytesLike],
    [string],
    "view"
  >;
  getFunction(
    nameOrSignature: "envOr(string,int256)"
  ): TypedContractMethod<
    [name: string, defaultValue: BigNumberish],
    [bigint],
    "view"
  >;
  getFunction(
    nameOrSignature: "envOr(string,string,address[])"
  ): TypedContractMethod<
    [name: string, delim: string, defaultValue: AddressLike[]],
    [string[]],
    "view"
  >;
  getFunction(
    nameOrSignature: "envOr(string,string)"
  ): TypedContractMethod<
    [name: string, defaultValue: string],
    [string],
    "view"
  >;
  getFunction(
    nameOrSignature: "envOr(string,string,bool[])"
  ): TypedContractMethod<
    [name: string, delim: string, defaultValue: boolean[]],
    [boolean[]],
    "view"
  >;
  getFunction(
    nameOrSignature: "envString(string,string)"
  ): TypedContractMethod<[name: string, delim: string], [string[]], "view">;
  getFunction(
    nameOrSignature: "envString(string)"
  ): TypedContractMethod<[name: string], [string], "view">;
  getFunction(
    nameOrSignature: "envUint(string)"
  ): TypedContractMethod<[name: string], [bigint], "view">;
  getFunction(
    nameOrSignature: "envUint(string,string)"
  ): TypedContractMethod<[name: string, delim: string], [bigint[]], "view">;
  getFunction(
    nameOrSignature: "etch"
  ): TypedContractMethod<
    [target: AddressLike, newRuntimeBytecode: BytesLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "eth_getLogs"
  ): TypedContractMethod<
    [
      fromBlock: BigNumberish,
      toBlock: BigNumberish,
      target: AddressLike,
      topics: BytesLike[]
    ],
    [VmSafe.EthGetLogsStructOutput[]],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "exists"
  ): TypedContractMethod<[path: string], [boolean], "view">;
  getFunction(
    nameOrSignature: "expectCall(address,uint256,uint64,bytes)"
  ): TypedContractMethod<
    [
      callee: AddressLike,
      msgValue: BigNumberish,
      gas: BigNumberish,
      data: BytesLike
    ],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "expectCall(address,uint256,uint64,bytes,uint64)"
  ): TypedContractMethod<
    [
      callee: AddressLike,
      msgValue: BigNumberish,
      gas: BigNumberish,
      data: BytesLike,
      count: BigNumberish
    ],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "expectCall(address,uint256,bytes,uint64)"
  ): TypedContractMethod<
    [
      callee: AddressLike,
      msgValue: BigNumberish,
      data: BytesLike,
      count: BigNumberish
    ],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "expectCall(address,bytes)"
  ): TypedContractMethod<
    [callee: AddressLike, data: BytesLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "expectCall(address,bytes,uint64)"
  ): TypedContractMethod<
    [callee: AddressLike, data: BytesLike, count: BigNumberish],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "expectCall(address,uint256,bytes)"
  ): TypedContractMethod<
    [callee: AddressLike, msgValue: BigNumberish, data: BytesLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "expectCallMinGas(address,uint256,uint64,bytes)"
  ): TypedContractMethod<
    [
      callee: AddressLike,
      msgValue: BigNumberish,
      minGas: BigNumberish,
      data: BytesLike
    ],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "expectCallMinGas(address,uint256,uint64,bytes,uint64)"
  ): TypedContractMethod<
    [
      callee: AddressLike,
      msgValue: BigNumberish,
      minGas: BigNumberish,
      data: BytesLike,
      count: BigNumberish
    ],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "expectCreate"
  ): TypedContractMethod<
    [bytecode: BytesLike, deployer: AddressLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "expectCreate2"
  ): TypedContractMethod<
    [bytecode: BytesLike, deployer: AddressLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "expectEmit()"
  ): TypedContractMethod<[], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "expectEmit(bool,bool,bool,bool)"
  ): TypedContractMethod<
    [
      checkTopic1: boolean,
      checkTopic2: boolean,
      checkTopic3: boolean,
      checkData: boolean
    ],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "expectEmit(uint64)"
  ): TypedContractMethod<[count: BigNumberish], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "expectEmit(bool,bool,bool,bool,uint64)"
  ): TypedContractMethod<
    [
      checkTopic1: boolean,
      checkTopic2: boolean,
      checkTopic3: boolean,
      checkData: boolean,
      count: BigNumberish
    ],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "expectEmit(bool,bool,bool,bool,address)"
  ): TypedContractMethod<
    [
      checkTopic1: boolean,
      checkTopic2: boolean,
      checkTopic3: boolean,
      checkData: boolean,
      emitter: AddressLike
    ],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "expectEmit(address)"
  ): TypedContractMethod<[emitter: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "expectEmit(address,uint64)"
  ): TypedContractMethod<
    [emitter: AddressLike, count: BigNumberish],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "expectEmit(bool,bool,bool,bool,address,uint64)"
  ): TypedContractMethod<
    [
      checkTopic1: boolean,
      checkTopic2: boolean,
      checkTopic3: boolean,
      checkData: boolean,
      emitter: AddressLike,
      count: BigNumberish
    ],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "expectEmitAnonymous()"
  ): TypedContractMethod<[], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "expectEmitAnonymous(address)"
  ): TypedContractMethod<[emitter: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "expectEmitAnonymous(bool,bool,bool,bool,bool,address)"
  ): TypedContractMethod<
    [
      checkTopic0: boolean,
      checkTopic1: boolean,
      checkTopic2: boolean,
      checkTopic3: boolean,
      checkData: boolean,
      emitter: AddressLike
    ],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "expectEmitAnonymous(bool,bool,bool,bool,bool)"
  ): TypedContractMethod<
    [
      checkTopic0: boolean,
      checkTopic1: boolean,
      checkTopic2: boolean,
      checkTopic3: boolean,
      checkData: boolean
    ],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "expectPartialRevert(bytes4)"
  ): TypedContractMethod<[revertData: BytesLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "expectPartialRevert(bytes4,address)"
  ): TypedContractMethod<
    [revertData: BytesLike, reverter: AddressLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "expectRevert(address,uint64)"
  ): TypedContractMethod<
    [reverter: AddressLike, count: BigNumberish],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "expectRevert(bytes4,address)"
  ): TypedContractMethod<
    [revertData: BytesLike, reverter: AddressLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "expectRevert(bytes,uint64)"
  ): TypedContractMethod<
    [revertData: BytesLike, count: BigNumberish],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "expectRevert(uint64)"
  ): TypedContractMethod<[count: BigNumberish], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "expectRevert(bytes,address)"
  ): TypedContractMethod<
    [revertData: BytesLike, reverter: AddressLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "expectRevert(bytes4,address,uint64)"
  ): TypedContractMethod<
    [revertData: BytesLike, reverter: AddressLike, count: BigNumberish],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "expectRevert(bytes4)"
  ): TypedContractMethod<[revertData: BytesLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "expectRevert(bytes,address,uint64)"
  ): TypedContractMethod<
    [revertData: BytesLike, reverter: AddressLike, count: BigNumberish],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "expectRevert(address)"
  ): TypedContractMethod<[reverter: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "expectRevert(bytes4,uint64)"
  ): TypedContractMethod<
    [revertData: BytesLike, count: BigNumberish],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "expectRevert(bytes)"
  ): TypedContractMethod<[revertData: BytesLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "expectRevert()"
  ): TypedContractMethod<[], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "expectSafeMemory"
  ): TypedContractMethod<
    [min: BigNumberish, max: BigNumberish],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "expectSafeMemoryCall"
  ): TypedContractMethod<
    [min: BigNumberish, max: BigNumberish],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "fee"
  ): TypedContractMethod<[newBasefee: BigNumberish], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "ffi"
  ): TypedContractMethod<[commandInput: string[]], [string], "nonpayable">;
  getFunction(
    nameOrSignature: "foundryVersionAtLeast"
  ): TypedContractMethod<[version: string], [boolean], "view">;
  getFunction(
    nameOrSignature: "foundryVersionCmp"
  ): TypedContractMethod<[version: string], [bigint], "view">;
  getFunction(
    nameOrSignature: "fsMetadata"
  ): TypedContractMethod<
    [path: string],
    [VmSafe.FsMetadataStructOutput],
    "view"
  >;
  getFunction(
    nameOrSignature: "getArtifactPathByCode"
  ): TypedContractMethod<[code: BytesLike], [string], "view">;
  getFunction(
    nameOrSignature: "getArtifactPathByDeployedCode"
  ): TypedContractMethod<[deployedCode: BytesLike], [string], "view">;
  getFunction(
    nameOrSignature: "getBlobBaseFee"
  ): TypedContractMethod<[], [bigint], "view">;
  getFunction(
    nameOrSignature: "getBlobhashes"
  ): TypedContractMethod<[], [string[]], "view">;
  getFunction(
    nameOrSignature: "getBlockNumber"
  ): TypedContractMethod<[], [bigint], "view">;
  getFunction(
    nameOrSignature: "getBlockTimestamp"
  ): TypedContractMethod<[], [bigint], "view">;
  getFunction(
    nameOrSignature: "getBroadcast"
  ): TypedContractMethod<
    [contractName: string, chainId: BigNumberish, txType: BigNumberish],
    [VmSafe.BroadcastTxSummaryStructOutput],
    "view"
  >;
  getFunction(
    nameOrSignature: "getBroadcasts(string,uint64)"
  ): TypedContractMethod<
    [contractName: string, chainId: BigNumberish],
    [VmSafe.BroadcastTxSummaryStructOutput[]],
    "view"
  >;
  getFunction(
    nameOrSignature: "getBroadcasts(string,uint64,uint8)"
  ): TypedContractMethod<
    [contractName: string, chainId: BigNumberish, txType: BigNumberish],
    [VmSafe.BroadcastTxSummaryStructOutput[]],
    "view"
  >;
  getFunction(
    nameOrSignature: "getChain(string)"
  ): TypedContractMethod<
    [chainAlias: string],
    [VmSafe.ChainStructOutput],
    "view"
  >;
  getFunction(
    nameOrSignature: "getChain(uint256)"
  ): TypedContractMethod<
    [chainId: BigNumberish],
    [VmSafe.ChainStructOutput],
    "view"
  >;
  getFunction(
    nameOrSignature: "getCode"
  ): TypedContractMethod<[artifactPath: string], [string], "view">;
  getFunction(
    nameOrSignature: "getDeployedCode"
  ): TypedContractMethod<[artifactPath: string], [string], "view">;
  getFunction(
    nameOrSignature: "getDeployment(string,uint64)"
  ): TypedContractMethod<
    [contractName: string, chainId: BigNumberish],
    [string],
    "view"
  >;
  getFunction(
    nameOrSignature: "getDeployment(string)"
  ): TypedContractMethod<[contractName: string], [string], "view">;
  getFunction(
    nameOrSignature: "getDeployments"
  ): TypedContractMethod<
    [contractName: string, chainId: BigNumberish],
    [string[]],
    "view"
  >;
  getFunction(
    nameOrSignature: "getFoundryVersion"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "getLabel"
  ): TypedContractMethod<[account: AddressLike], [string], "view">;
  getFunction(
    nameOrSignature: "getMappingKeyAndParentOf"
  ): TypedContractMethod<
    [target: AddressLike, elementSlot: BytesLike],
    [
      [boolean, string, string] & {
        found: boolean;
        key: string;
        parent: string;
      }
    ],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "getMappingLength"
  ): TypedContractMethod<
    [target: AddressLike, mappingSlot: BytesLike],
    [bigint],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "getMappingSlotAt"
  ): TypedContractMethod<
    [target: AddressLike, mappingSlot: BytesLike, idx: BigNumberish],
    [string],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "getNonce(address)"
  ): TypedContractMethod<[account: AddressLike], [bigint], "view">;
  getFunction(
    nameOrSignature: "getNonce((address,uint256,uint256,uint256))"
  ): TypedContractMethod<[wallet: VmSafe.WalletStruct], [bigint], "nonpayable">;
  getFunction(
    nameOrSignature: "getRecordedLogs"
  ): TypedContractMethod<[], [VmSafe.LogStructOutput[]], "nonpayable">;
  getFunction(
    nameOrSignature: "getStateDiff"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "getStateDiffJson"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "getWallets"
  ): TypedContractMethod<[], [string[]], "nonpayable">;
  getFunction(
    nameOrSignature: "indexOf"
  ): TypedContractMethod<[input: string, key: string], [bigint], "view">;
  getFunction(
    nameOrSignature: "interceptInitcode"
  ): TypedContractMethod<[], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "isContext"
  ): TypedContractMethod<[context: BigNumberish], [boolean], "view">;
  getFunction(
    nameOrSignature: "isDir"
  ): TypedContractMethod<[path: string], [boolean], "view">;
  getFunction(
    nameOrSignature: "isFile"
  ): TypedContractMethod<[path: string], [boolean], "view">;
  getFunction(
    nameOrSignature: "isPersistent"
  ): TypedContractMethod<[account: AddressLike], [boolean], "view">;
  getFunction(
    nameOrSignature: "keyExists"
  ): TypedContractMethod<[json: string, key: string], [boolean], "view">;
  getFunction(
    nameOrSignature: "keyExistsJson"
  ): TypedContractMethod<[json: string, key: string], [boolean], "view">;
  getFunction(
    nameOrSignature: "keyExistsToml"
  ): TypedContractMethod<[toml: string, key: string], [boolean], "view">;
  getFunction(
    nameOrSignature: "label"
  ): TypedContractMethod<
    [account: AddressLike, newLabel: string],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "lastCallGas"
  ): TypedContractMethod<[], [VmSafe.GasStructOutput], "view">;
  getFunction(
    nameOrSignature: "load"
  ): TypedContractMethod<
    [target: AddressLike, slot: BytesLike],
    [string],
    "view"
  >;
  getFunction(
    nameOrSignature: "loadAllocs"
  ): TypedContractMethod<[pathToAllocsJson: string], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "makePersistent(address[])"
  ): TypedContractMethod<[accounts: AddressLike[]], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "makePersistent(address,address)"
  ): TypedContractMethod<
    [account0: AddressLike, account1: AddressLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "makePersistent(address)"
  ): TypedContractMethod<[account: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "makePersistent(address,address,address)"
  ): TypedContractMethod<
    [account0: AddressLike, account1: AddressLike, account2: AddressLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "mockCall(address,bytes4,bytes)"
  ): TypedContractMethod<
    [callee: AddressLike, data: BytesLike, returnData: BytesLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "mockCall(address,uint256,bytes,bytes)"
  ): TypedContractMethod<
    [
      callee: AddressLike,
      msgValue: BigNumberish,
      data: BytesLike,
      returnData: BytesLike
    ],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "mockCall(address,bytes,bytes)"
  ): TypedContractMethod<
    [callee: AddressLike, data: BytesLike, returnData: BytesLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "mockCall(address,uint256,bytes4,bytes)"
  ): TypedContractMethod<
    [
      callee: AddressLike,
      msgValue: BigNumberish,
      data: BytesLike,
      returnData: BytesLike
    ],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "mockCallRevert(address,bytes4,bytes)"
  ): TypedContractMethod<
    [callee: AddressLike, data: BytesLike, revertData: BytesLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "mockCallRevert(address,uint256,bytes4,bytes)"
  ): TypedContractMethod<
    [
      callee: AddressLike,
      msgValue: BigNumberish,
      data: BytesLike,
      revertData: BytesLike
    ],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "mockCallRevert(address,uint256,bytes,bytes)"
  ): TypedContractMethod<
    [
      callee: AddressLike,
      msgValue: BigNumberish,
      data: BytesLike,
      revertData: BytesLike
    ],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "mockCallRevert(address,bytes,bytes)"
  ): TypedContractMethod<
    [callee: AddressLike, data: BytesLike, revertData: BytesLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "mockCalls(address,uint256,bytes,bytes[])"
  ): TypedContractMethod<
    [
      callee: AddressLike,
      msgValue: BigNumberish,
      data: BytesLike,
      returnData: BytesLike[]
    ],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "mockCalls(address,bytes,bytes[])"
  ): TypedContractMethod<
    [callee: AddressLike, data: BytesLike, returnData: BytesLike[]],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "mockFunction"
  ): TypedContractMethod<
    [callee: AddressLike, target: AddressLike, data: BytesLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "noAccessList"
  ): TypedContractMethod<[], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "parseAddress"
  ): TypedContractMethod<[stringifiedValue: string], [string], "view">;
  getFunction(
    nameOrSignature: "parseBool"
  ): TypedContractMethod<[stringifiedValue: string], [boolean], "view">;
  getFunction(
    nameOrSignature: "parseBytes"
  ): TypedContractMethod<[stringifiedValue: string], [string], "view">;
  getFunction(
    nameOrSignature: "parseBytes32"
  ): TypedContractMethod<[stringifiedValue: string], [string], "view">;
  getFunction(
    nameOrSignature: "parseInt"
  ): TypedContractMethod<[stringifiedValue: string], [bigint], "view">;
  getFunction(
    nameOrSignature: "parseJson(string)"
  ): TypedContractMethod<[json: string], [string], "view">;
  getFunction(
    nameOrSignature: "parseJson(string,string)"
  ): TypedContractMethod<[json: string, key: string], [string], "view">;
  getFunction(
    nameOrSignature: "parseJsonAddress"
  ): TypedContractMethod<[json: string, key: string], [string], "view">;
  getFunction(
    nameOrSignature: "parseJsonAddressArray"
  ): TypedContractMethod<[json: string, key: string], [string[]], "view">;
  getFunction(
    nameOrSignature: "parseJsonBool"
  ): TypedContractMethod<[json: string, key: string], [boolean], "view">;
  getFunction(
    nameOrSignature: "parseJsonBoolArray"
  ): TypedContractMethod<[json: string, key: string], [boolean[]], "view">;
  getFunction(
    nameOrSignature: "parseJsonBytes"
  ): TypedContractMethod<[json: string, key: string], [string], "view">;
  getFunction(
    nameOrSignature: "parseJsonBytes32"
  ): TypedContractMethod<[json: string, key: string], [string], "view">;
  getFunction(
    nameOrSignature: "parseJsonBytes32Array"
  ): TypedContractMethod<[json: string, key: string], [string[]], "view">;
  getFunction(
    nameOrSignature: "parseJsonBytesArray"
  ): TypedContractMethod<[json: string, key: string], [string[]], "view">;
  getFunction(
    nameOrSignature: "parseJsonInt"
  ): TypedContractMethod<[json: string, key: string], [bigint], "view">;
  getFunction(
    nameOrSignature: "parseJsonIntArray"
  ): TypedContractMethod<[json: string, key: string], [bigint[]], "view">;
  getFunction(
    nameOrSignature: "parseJsonKeys"
  ): TypedContractMethod<[json: string, key: string], [string[]], "view">;
  getFunction(
    nameOrSignature: "parseJsonString"
  ): TypedContractMethod<[json: string, key: string], [string], "view">;
  getFunction(
    nameOrSignature: "parseJsonStringArray"
  ): TypedContractMethod<[json: string, key: string], [string[]], "view">;
  getFunction(
    nameOrSignature: "parseJsonType(string,string)"
  ): TypedContractMethod<
    [json: string, typeDescription: string],
    [string],
    "view"
  >;
  getFunction(
    nameOrSignature: "parseJsonType(string,string,string)"
  ): TypedContractMethod<
    [json: string, key: string, typeDescription: string],
    [string],
    "view"
  >;
  getFunction(
    nameOrSignature: "parseJsonTypeArray"
  ): TypedContractMethod<
    [json: string, key: string, typeDescription: string],
    [string],
    "view"
  >;
  getFunction(
    nameOrSignature: "parseJsonUint"
  ): TypedContractMethod<[json: string, key: string], [bigint], "view">;
  getFunction(
    nameOrSignature: "parseJsonUintArray"
  ): TypedContractMethod<[json: string, key: string], [bigint[]], "view">;
  getFunction(
    nameOrSignature: "parseToml(string,string)"
  ): TypedContractMethod<[toml: string, key: string], [string], "view">;
  getFunction(
    nameOrSignature: "parseToml(string)"
  ): TypedContractMethod<[toml: string], [string], "view">;
  getFunction(
    nameOrSignature: "parseTomlAddress"
  ): TypedContractMethod<[toml: string, key: string], [string], "view">;
  getFunction(
    nameOrSignature: "parseTomlAddressArray"
  ): TypedContractMethod<[toml: string, key: string], [string[]], "view">;
  getFunction(
    nameOrSignature: "parseTomlBool"
  ): TypedContractMethod<[toml: string, key: string], [boolean], "view">;
  getFunction(
    nameOrSignature: "parseTomlBoolArray"
  ): TypedContractMethod<[toml: string, key: string], [boolean[]], "view">;
  getFunction(
    nameOrSignature: "parseTomlBytes"
  ): TypedContractMethod<[toml: string, key: string], [string], "view">;
  getFunction(
    nameOrSignature: "parseTomlBytes32"
  ): TypedContractMethod<[toml: string, key: string], [string], "view">;
  getFunction(
    nameOrSignature: "parseTomlBytes32Array"
  ): TypedContractMethod<[toml: string, key: string], [string[]], "view">;
  getFunction(
    nameOrSignature: "parseTomlBytesArray"
  ): TypedContractMethod<[toml: string, key: string], [string[]], "view">;
  getFunction(
    nameOrSignature: "parseTomlInt"
  ): TypedContractMethod<[toml: string, key: string], [bigint], "view">;
  getFunction(
    nameOrSignature: "parseTomlIntArray"
  ): TypedContractMethod<[toml: string, key: string], [bigint[]], "view">;
  getFunction(
    nameOrSignature: "parseTomlKeys"
  ): TypedContractMethod<[toml: string, key: string], [string[]], "view">;
  getFunction(
    nameOrSignature: "parseTomlString"
  ): TypedContractMethod<[toml: string, key: string], [string], "view">;
  getFunction(
    nameOrSignature: "parseTomlStringArray"
  ): TypedContractMethod<[toml: string, key: string], [string[]], "view">;
  getFunction(
    nameOrSignature: "parseTomlType(string,string)"
  ): TypedContractMethod<
    [toml: string, typeDescription: string],
    [string],
    "view"
  >;
  getFunction(
    nameOrSignature: "parseTomlType(string,string,string)"
  ): TypedContractMethod<
    [toml: string, key: string, typeDescription: string],
    [string],
    "view"
  >;
  getFunction(
    nameOrSignature: "parseTomlTypeArray"
  ): TypedContractMethod<
    [toml: string, key: string, typeDescription: string],
    [string],
    "view"
  >;
  getFunction(
    nameOrSignature: "parseTomlUint"
  ): TypedContractMethod<[toml: string, key: string], [bigint], "view">;
  getFunction(
    nameOrSignature: "parseTomlUintArray"
  ): TypedContractMethod<[toml: string, key: string], [bigint[]], "view">;
  getFunction(
    nameOrSignature: "parseUint"
  ): TypedContractMethod<[stringifiedValue: string], [bigint], "view">;
  getFunction(
    nameOrSignature: "pauseGasMetering"
  ): TypedContractMethod<[], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "pauseTracing"
  ): TypedContractMethod<[], [void], "view">;
  getFunction(
    nameOrSignature: "prank(address,address)"
  ): TypedContractMethod<
    [msgSender: AddressLike, txOrigin: AddressLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "prank(address,address,bool)"
  ): TypedContractMethod<
    [msgSender: AddressLike, txOrigin: AddressLike, delegateCall: boolean],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "prank(address,bool)"
  ): TypedContractMethod<
    [msgSender: AddressLike, delegateCall: boolean],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "prank(address)"
  ): TypedContractMethod<[msgSender: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "prevrandao(bytes32)"
  ): TypedContractMethod<[newPrevrandao: BytesLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "prevrandao(uint256)"
  ): TypedContractMethod<[newPrevrandao: BigNumberish], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "projectRoot"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "prompt"
  ): TypedContractMethod<[promptText: string], [string], "nonpayable">;
  getFunction(
    nameOrSignature: "promptAddress"
  ): TypedContractMethod<[promptText: string], [string], "nonpayable">;
  getFunction(
    nameOrSignature: "promptSecret"
  ): TypedContractMethod<[promptText: string], [string], "nonpayable">;
  getFunction(
    nameOrSignature: "promptSecretUint"
  ): TypedContractMethod<[promptText: string], [bigint], "nonpayable">;
  getFunction(
    nameOrSignature: "promptUint"
  ): TypedContractMethod<[promptText: string], [bigint], "nonpayable">;
  getFunction(
    nameOrSignature: "publicKeyP256"
  ): TypedContractMethod<
    [privateKey: BigNumberish],
    [[bigint, bigint] & { publicKeyX: bigint; publicKeyY: bigint }],
    "view"
  >;
  getFunction(
    nameOrSignature: "randomAddress"
  ): TypedContractMethod<[], [string], "nonpayable">;
  getFunction(
    nameOrSignature: "randomBool"
  ): TypedContractMethod<[], [boolean], "view">;
  getFunction(
    nameOrSignature: "randomBytes"
  ): TypedContractMethod<[len: BigNumberish], [string], "view">;
  getFunction(
    nameOrSignature: "randomBytes4"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "randomBytes8"
  ): TypedContractMethod<[], [string], "view">;
  getFunction(
    nameOrSignature: "randomInt()"
  ): TypedContractMethod<[], [bigint], "view">;
  getFunction(
    nameOrSignature: "randomInt(uint256)"
  ): TypedContractMethod<[bits: BigNumberish], [bigint], "view">;
  getFunction(
    nameOrSignature: "randomUint()"
  ): TypedContractMethod<[], [bigint], "nonpayable">;
  getFunction(
    nameOrSignature: "randomUint(uint256)"
  ): TypedContractMethod<[bits: BigNumberish], [bigint], "view">;
  getFunction(
    nameOrSignature: "randomUint(uint256,uint256)"
  ): TypedContractMethod<
    [min: BigNumberish, max: BigNumberish],
    [bigint],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "readCallers"
  ): TypedContractMethod<
    [],
    [
      [bigint, string, string] & {
        callerMode: bigint;
        msgSender: string;
        txOrigin: string;
      }
    ],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "readDir(string,uint64)"
  ): TypedContractMethod<
    [path: string, maxDepth: BigNumberish],
    [VmSafe.DirEntryStructOutput[]],
    "view"
  >;
  getFunction(
    nameOrSignature: "readDir(string,uint64,bool)"
  ): TypedContractMethod<
    [path: string, maxDepth: BigNumberish, followLinks: boolean],
    [VmSafe.DirEntryStructOutput[]],
    "view"
  >;
  getFunction(
    nameOrSignature: "readDir(string)"
  ): TypedContractMethod<
    [path: string],
    [VmSafe.DirEntryStructOutput[]],
    "view"
  >;
  getFunction(
    nameOrSignature: "readFile"
  ): TypedContractMethod<[path: string], [string], "view">;
  getFunction(
    nameOrSignature: "readFileBinary"
  ): TypedContractMethod<[path: string], [string], "view">;
  getFunction(
    nameOrSignature: "readLine"
  ): TypedContractMethod<[path: string], [string], "view">;
  getFunction(
    nameOrSignature: "readLink"
  ): TypedContractMethod<[linkPath: string], [string], "view">;
  getFunction(
    nameOrSignature: "record"
  ): TypedContractMethod<[], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "recordLogs"
  ): TypedContractMethod<[], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "rememberKey"
  ): TypedContractMethod<[privateKey: BigNumberish], [string], "nonpayable">;
  getFunction(
    nameOrSignature: "rememberKeys(string,string,uint32)"
  ): TypedContractMethod<
    [mnemonic: string, derivationPath: string, count: BigNumberish],
    [string[]],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "rememberKeys(string,string,string,uint32)"
  ): TypedContractMethod<
    [
      mnemonic: string,
      derivationPath: string,
      language: string,
      count: BigNumberish
    ],
    [string[]],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "removeDir"
  ): TypedContractMethod<
    [path: string, recursive: boolean],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "removeFile"
  ): TypedContractMethod<[path: string], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "replace"
  ): TypedContractMethod<
    [input: string, from: string, to: string],
    [string],
    "view"
  >;
  getFunction(
    nameOrSignature: "resetGasMetering"
  ): TypedContractMethod<[], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "resetNonce"
  ): TypedContractMethod<[account: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "resumeGasMetering"
  ): TypedContractMethod<[], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "resumeTracing"
  ): TypedContractMethod<[], [void], "view">;
  getFunction(
    nameOrSignature: "revertTo"
  ): TypedContractMethod<[snapshotId: BigNumberish], [boolean], "nonpayable">;
  getFunction(
    nameOrSignature: "revertToAndDelete"
  ): TypedContractMethod<[snapshotId: BigNumberish], [boolean], "nonpayable">;
  getFunction(
    nameOrSignature: "revertToState"
  ): TypedContractMethod<[snapshotId: BigNumberish], [boolean], "nonpayable">;
  getFunction(
    nameOrSignature: "revertToStateAndDelete"
  ): TypedContractMethod<[snapshotId: BigNumberish], [boolean], "nonpayable">;
  getFunction(
    nameOrSignature: "revokePersistent(address[])"
  ): TypedContractMethod<[accounts: AddressLike[]], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "revokePersistent(address)"
  ): TypedContractMethod<[account: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "roll"
  ): TypedContractMethod<[newHeight: BigNumberish], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "rollFork(bytes32)"
  ): TypedContractMethod<[txHash: BytesLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "rollFork(uint256,uint256)"
  ): TypedContractMethod<
    [forkId: BigNumberish, blockNumber: BigNumberish],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "rollFork(uint256)"
  ): TypedContractMethod<[blockNumber: BigNumberish], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "rollFork(uint256,bytes32)"
  ): TypedContractMethod<
    [forkId: BigNumberish, txHash: BytesLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "rpc(string,string,string)"
  ): TypedContractMethod<
    [urlOrAlias: string, method: string, params: string],
    [string],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "rpc(string,string)"
  ): TypedContractMethod<
    [method: string, params: string],
    [string],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "rpcUrl"
  ): TypedContractMethod<[rpcAlias: string], [string], "view">;
  getFunction(
    nameOrSignature: "rpcUrlStructs"
  ): TypedContractMethod<[], [VmSafe.RpcStructOutput[]], "view">;
  getFunction(
    nameOrSignature: "rpcUrls"
  ): TypedContractMethod<[], [[string, string][]], "view">;
  getFunction(
    nameOrSignature: "selectFork"
  ): TypedContractMethod<[forkId: BigNumberish], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "serializeAddress(string,string,address[])"
  ): TypedContractMethod<
    [objectKey: string, valueKey: string, values: AddressLike[]],
    [string],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "serializeAddress(string,string,address)"
  ): TypedContractMethod<
    [objectKey: string, valueKey: string, value: AddressLike],
    [string],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "serializeBool(string,string,bool[])"
  ): TypedContractMethod<
    [objectKey: string, valueKey: string, values: boolean[]],
    [string],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "serializeBool(string,string,bool)"
  ): TypedContractMethod<
    [objectKey: string, valueKey: string, value: boolean],
    [string],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "serializeBytes(string,string,bytes[])"
  ): TypedContractMethod<
    [objectKey: string, valueKey: string, values: BytesLike[]],
    [string],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "serializeBytes(string,string,bytes)"
  ): TypedContractMethod<
    [objectKey: string, valueKey: string, value: BytesLike],
    [string],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "serializeBytes32(string,string,bytes32[])"
  ): TypedContractMethod<
    [objectKey: string, valueKey: string, values: BytesLike[]],
    [string],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "serializeBytes32(string,string,bytes32)"
  ): TypedContractMethod<
    [objectKey: string, valueKey: string, value: BytesLike],
    [string],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "serializeInt(string,string,int256)"
  ): TypedContractMethod<
    [objectKey: string, valueKey: string, value: BigNumberish],
    [string],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "serializeInt(string,string,int256[])"
  ): TypedContractMethod<
    [objectKey: string, valueKey: string, values: BigNumberish[]],
    [string],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "serializeJson"
  ): TypedContractMethod<
    [objectKey: string, value: string],
    [string],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "serializeJsonType(string,bytes)"
  ): TypedContractMethod<
    [typeDescription: string, value: BytesLike],
    [string],
    "view"
  >;
  getFunction(
    nameOrSignature: "serializeJsonType(string,string,string,bytes)"
  ): TypedContractMethod<
    [
      objectKey: string,
      valueKey: string,
      typeDescription: string,
      value: BytesLike
    ],
    [string],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "serializeString(string,string,string[])"
  ): TypedContractMethod<
    [objectKey: string, valueKey: string, values: string[]],
    [string],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "serializeString(string,string,string)"
  ): TypedContractMethod<
    [objectKey: string, valueKey: string, value: string],
    [string],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "serializeUint(string,string,uint256)"
  ): TypedContractMethod<
    [objectKey: string, valueKey: string, value: BigNumberish],
    [string],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "serializeUint(string,string,uint256[])"
  ): TypedContractMethod<
    [objectKey: string, valueKey: string, values: BigNumberish[]],
    [string],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "serializeUintToHex"
  ): TypedContractMethod<
    [objectKey: string, valueKey: string, value: BigNumberish],
    [string],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "setArbitraryStorage(address,bool)"
  ): TypedContractMethod<
    [target: AddressLike, overwrite: boolean],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "setArbitraryStorage(address)"
  ): TypedContractMethod<[target: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "setBlockhash"
  ): TypedContractMethod<
    [blockNumber: BigNumberish, blockHash: BytesLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "setEnv"
  ): TypedContractMethod<[name: string, value: string], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "setNonce"
  ): TypedContractMethod<
    [account: AddressLike, newNonce: BigNumberish],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "setNonceUnsafe"
  ): TypedContractMethod<
    [account: AddressLike, newNonce: BigNumberish],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "shuffle"
  ): TypedContractMethod<[array: BigNumberish[]], [bigint[]], "nonpayable">;
  getFunction(
    nameOrSignature: "sign(bytes32)"
  ): TypedContractMethod<
    [digest: BytesLike],
    [[bigint, string, string] & { v: bigint; r: string; s: string }],
    "view"
  >;
  getFunction(
    nameOrSignature: "sign(address,bytes32)"
  ): TypedContractMethod<
    [signer: AddressLike, digest: BytesLike],
    [[bigint, string, string] & { v: bigint; r: string; s: string }],
    "view"
  >;
  getFunction(
    nameOrSignature: "sign((address,uint256,uint256,uint256),bytes32)"
  ): TypedContractMethod<
    [wallet: VmSafe.WalletStruct, digest: BytesLike],
    [[bigint, string, string] & { v: bigint; r: string; s: string }],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "sign(uint256,bytes32)"
  ): TypedContractMethod<
    [privateKey: BigNumberish, digest: BytesLike],
    [[bigint, string, string] & { v: bigint; r: string; s: string }],
    "view"
  >;
  getFunction(
    nameOrSignature: "signAndAttachDelegation(address,uint256)"
  ): TypedContractMethod<
    [implementation: AddressLike, privateKey: BigNumberish],
    [VmSafe.SignedDelegationStructOutput],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "signAndAttachDelegation(address,uint256,uint64)"
  ): TypedContractMethod<
    [
      implementation: AddressLike,
      privateKey: BigNumberish,
      nonce: BigNumberish
    ],
    [VmSafe.SignedDelegationStructOutput],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "signCompact((address,uint256,uint256,uint256),bytes32)"
  ): TypedContractMethod<
    [wallet: VmSafe.WalletStruct, digest: BytesLike],
    [[string, string] & { r: string; vs: string }],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "signCompact(address,bytes32)"
  ): TypedContractMethod<
    [signer: AddressLike, digest: BytesLike],
    [[string, string] & { r: string; vs: string }],
    "view"
  >;
  getFunction(
    nameOrSignature: "signCompact(bytes32)"
  ): TypedContractMethod<
    [digest: BytesLike],
    [[string, string] & { r: string; vs: string }],
    "view"
  >;
  getFunction(
    nameOrSignature: "signCompact(uint256,bytes32)"
  ): TypedContractMethod<
    [privateKey: BigNumberish, digest: BytesLike],
    [[string, string] & { r: string; vs: string }],
    "view"
  >;
  getFunction(
    nameOrSignature: "signDelegation(address,uint256)"
  ): TypedContractMethod<
    [implementation: AddressLike, privateKey: BigNumberish],
    [VmSafe.SignedDelegationStructOutput],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "signDelegation(address,uint256,uint64)"
  ): TypedContractMethod<
    [
      implementation: AddressLike,
      privateKey: BigNumberish,
      nonce: BigNumberish
    ],
    [VmSafe.SignedDelegationStructOutput],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "signP256"
  ): TypedContractMethod<
    [privateKey: BigNumberish, digest: BytesLike],
    [[string, string] & { r: string; s: string }],
    "view"
  >;
  getFunction(
    nameOrSignature: "skip(bool,string)"
  ): TypedContractMethod<
    [skipTest: boolean, reason: string],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "skip(bool)"
  ): TypedContractMethod<[skipTest: boolean], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "sleep"
  ): TypedContractMethod<[duration: BigNumberish], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "snapshot"
  ): TypedContractMethod<[], [bigint], "nonpayable">;
  getFunction(
    nameOrSignature: "snapshotGasLastCall(string,string)"
  ): TypedContractMethod<[group: string, name: string], [bigint], "nonpayable">;
  getFunction(
    nameOrSignature: "snapshotGasLastCall(string)"
  ): TypedContractMethod<[name: string], [bigint], "nonpayable">;
  getFunction(
    nameOrSignature: "snapshotState"
  ): TypedContractMethod<[], [bigint], "nonpayable">;
  getFunction(
    nameOrSignature: "snapshotValue(string,uint256)"
  ): TypedContractMethod<
    [name: string, value: BigNumberish],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "snapshotValue(string,string,uint256)"
  ): TypedContractMethod<
    [group: string, name: string, value: BigNumberish],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "sort"
  ): TypedContractMethod<[array: BigNumberish[]], [bigint[]], "nonpayable">;
  getFunction(
    nameOrSignature: "split"
  ): TypedContractMethod<
    [input: string, delimiter: string],
    [string[]],
    "view"
  >;
  getFunction(
    nameOrSignature: "startBroadcast()"
  ): TypedContractMethod<[], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "startBroadcast(address)"
  ): TypedContractMethod<[signer: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "startBroadcast(uint256)"
  ): TypedContractMethod<[privateKey: BigNumberish], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "startDebugTraceRecording"
  ): TypedContractMethod<[], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "startMappingRecording"
  ): TypedContractMethod<[], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "startPrank(address)"
  ): TypedContractMethod<[msgSender: AddressLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "startPrank(address,bool)"
  ): TypedContractMethod<
    [msgSender: AddressLike, delegateCall: boolean],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "startPrank(address,address)"
  ): TypedContractMethod<
    [msgSender: AddressLike, txOrigin: AddressLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "startPrank(address,address,bool)"
  ): TypedContractMethod<
    [msgSender: AddressLike, txOrigin: AddressLike, delegateCall: boolean],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "startSnapshotGas(string)"
  ): TypedContractMethod<[name: string], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "startSnapshotGas(string,string)"
  ): TypedContractMethod<[group: string, name: string], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "startStateDiffRecording"
  ): TypedContractMethod<[], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "stopAndReturnDebugTraceRecording"
  ): TypedContractMethod<[], [VmSafe.DebugStepStructOutput[]], "nonpayable">;
  getFunction(
    nameOrSignature: "stopAndReturnStateDiff"
  ): TypedContractMethod<
    [],
    [VmSafe.AccountAccessStructOutput[]],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "stopBroadcast"
  ): TypedContractMethod<[], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "stopExpectSafeMemory"
  ): TypedContractMethod<[], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "stopMappingRecording"
  ): TypedContractMethod<[], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "stopPrank"
  ): TypedContractMethod<[], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "stopSnapshotGas(string,string)"
  ): TypedContractMethod<[group: string, name: string], [bigint], "nonpayable">;
  getFunction(
    nameOrSignature: "stopSnapshotGas(string)"
  ): TypedContractMethod<[name: string], [bigint], "nonpayable">;
  getFunction(
    nameOrSignature: "stopSnapshotGas()"
  ): TypedContractMethod<[], [bigint], "nonpayable">;
  getFunction(
    nameOrSignature: "store"
  ): TypedContractMethod<
    [target: AddressLike, slot: BytesLike, value: BytesLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "toBase64(string)"
  ): TypedContractMethod<[data: string], [string], "view">;
  getFunction(
    nameOrSignature: "toBase64(bytes)"
  ): TypedContractMethod<[data: BytesLike], [string], "view">;
  getFunction(
    nameOrSignature: "toBase64URL(string)"
  ): TypedContractMethod<[data: string], [string], "view">;
  getFunction(
    nameOrSignature: "toBase64URL(bytes)"
  ): TypedContractMethod<[data: BytesLike], [string], "view">;
  getFunction(
    nameOrSignature: "toLowercase"
  ): TypedContractMethod<[input: string], [string], "view">;
  getFunction(
    nameOrSignature: "toString(address)"
  ): TypedContractMethod<[value: AddressLike], [string], "view">;
  getFunction(
    nameOrSignature: "toString(uint256)"
  ): TypedContractMethod<[value: BigNumberish], [string], "view">;
  getFunction(
    nameOrSignature: "toString(bytes)"
  ): TypedContractMethod<[value: BytesLike], [string], "view">;
  getFunction(
    nameOrSignature: "toString(bool)"
  ): TypedContractMethod<[value: boolean], [string], "view">;
  getFunction(
    nameOrSignature: "toString(int256)"
  ): TypedContractMethod<[value: BigNumberish], [string], "view">;
  getFunction(
    nameOrSignature: "toString(bytes32)"
  ): TypedContractMethod<[value: BytesLike], [string], "view">;
  getFunction(
    nameOrSignature: "toUppercase"
  ): TypedContractMethod<[input: string], [string], "view">;
  getFunction(
    nameOrSignature: "transact(uint256,bytes32)"
  ): TypedContractMethod<
    [forkId: BigNumberish, txHash: BytesLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "transact(bytes32)"
  ): TypedContractMethod<[txHash: BytesLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "trim"
  ): TypedContractMethod<[input: string], [string], "view">;
  getFunction(
    nameOrSignature: "tryFfi"
  ): TypedContractMethod<
    [commandInput: string[]],
    [VmSafe.FfiResultStructOutput],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "txGasPrice"
  ): TypedContractMethod<[newGasPrice: BigNumberish], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "unixTime"
  ): TypedContractMethod<[], [bigint], "view">;
  getFunction(
    nameOrSignature: "warmSlot"
  ): TypedContractMethod<
    [target: AddressLike, slot: BytesLike],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "warp"
  ): TypedContractMethod<[newTimestamp: BigNumberish], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "writeFile"
  ): TypedContractMethod<[path: string, data: string], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "writeFileBinary"
  ): TypedContractMethod<[path: string, data: BytesLike], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "writeJson(string,string,string)"
  ): TypedContractMethod<
    [json: string, path: string, valueKey: string],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "writeJson(string,string)"
  ): TypedContractMethod<[json: string, path: string], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "writeLine"
  ): TypedContractMethod<[path: string, data: string], [void], "nonpayable">;
  getFunction(
    nameOrSignature: "writeToml(string,string,string)"
  ): TypedContractMethod<
    [json: string, path: string, valueKey: string],
    [void],
    "nonpayable"
  >;
  getFunction(
    nameOrSignature: "writeToml(string,string)"
  ): TypedContractMethod<[json: string, path: string], [void], "nonpayable">;

  filters: {};
}
