// This file was autogenerated by hardhat-viem, do not edit it.
// prettier-ignore
// tslint:disable
// eslint-disable

import type { Address } from "viem";
import type { AbiParameterToPrimitiveType, GetContractReturnType } from "@nomicfoundation/hardhat-viem/types";
import "@nomicfoundation/hardhat-viem/types";

export interface Semver$Type {
  "_format": "hh-sol-artifact-1",
  "contractName": "Semver",
  "sourceName": "@ethereum-attestation-service/eas-contracts/contracts/Semver.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "major",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "minor",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "patch",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "version",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x60e034607957601f61054138819003918201601f19168301916001600160401b03831184841017607e57808492606094604052833981010312607957805190604060208201519101519160805260a05260c0526040516104ac90816100958239608051816085015260a0518160b3015260c0518160dd0152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001257600080fd5b60003560e01c6354fd4d501461002757600080fd5b346101c25760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c2576101b9604060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6100a97f0000000000000000000000000000000000000000000000000000000000000000610294565b61019e60016100d77f0000000000000000000000000000000000000000000000000000000000000000610294565b816101017f0000000000000000000000000000000000000000000000000000000000000000610294565b89519889938161011a818701998a8151938492016101c7565b85017f2e000000000000000000000000000000000000000000000000000000000000008382015261015482518093856021850191016101c7565b01017f2e000000000000000000000000000000000000000000000000000000000000008382015261018f8251809360206002850191016101c7565b010103018481018652856101ea565b845195869460208652518092816020880152878701906101c7565b01168101030190f35b600080fd5b60005b8381106101da5750506000910152565b81810151838201526020016101ca565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761022b57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff811161022b57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b806000917a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000082101561044e575b806d04ee2d6d415b85acef8100000000600a921015610433575b662386f26fc1000081101561041f575b6305f5e10081101561040e575b6127108110156103ff575b60648110156103f1575b10156103e6575b600a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602160018501947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061037c6103668861025a565b97610374604051998a6101ea565b80895261025a565b013660208801378501015b01917f30313233343536373839616263646566000000000000000000000000000000008282061a83530480156103e1577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600a9192610387565b505090565b60019091019061030f565b606460029104930192610308565b612710600491049301926102fe565b6305f5e100600891049301926102f3565b662386f26fc10000601091049301926102e6565b6d04ee2d6d415b85acef8100000000602091049301926102d6565b50604091507a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000081046102bc56fea26469706673582212207bb6f4dba3cd94878bc9af9195ff31b53c49ee7b9f5983289f834de4da658e7364736f6c634300081b0033",
  "deployedBytecode": "0x6080604052600436101561001257600080fd5b60003560e01c6354fd4d501461002757600080fd5b346101c25760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c2576101b9604060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6100a97f0000000000000000000000000000000000000000000000000000000000000000610294565b61019e60016100d77f0000000000000000000000000000000000000000000000000000000000000000610294565b816101017f0000000000000000000000000000000000000000000000000000000000000000610294565b89519889938161011a818701998a8151938492016101c7565b85017f2e000000000000000000000000000000000000000000000000000000000000008382015261015482518093856021850191016101c7565b01017f2e000000000000000000000000000000000000000000000000000000000000008382015261018f8251809360206002850191016101c7565b010103018481018652856101ea565b845195869460208652518092816020880152878701906101c7565b01168101030190f35b600080fd5b60005b8381106101da5750506000910152565b81810151838201526020016101ca565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761022b57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff811161022b57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b806000917a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000082101561044e575b806d04ee2d6d415b85acef8100000000600a921015610433575b662386f26fc1000081101561041f575b6305f5e10081101561040e575b6127108110156103ff575b60648110156103f1575b10156103e6575b600a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602160018501947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061037c6103668861025a565b97610374604051998a6101ea565b80895261025a565b013660208801378501015b01917f30313233343536373839616263646566000000000000000000000000000000008282061a83530480156103e1577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600a9192610387565b505090565b60019091019061030f565b606460029104930192610308565b612710600491049301926102fe565b6305f5e100600891049301926102f3565b662386f26fc10000601091049301926102e6565b6d04ee2d6d415b85acef8100000000602091049301926102d6565b50604091507a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000081046102bc56fea26469706673582212207bb6f4dba3cd94878bc9af9195ff31b53c49ee7b9f5983289f834de4da658e7364736f6c634300081b0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}

declare module "@nomicfoundation/hardhat-viem/types" {
  export function deployContract(
    contractName: "Semver",
    constructorArgs: [major: AbiParameterToPrimitiveType<{"name":"major","type":"uint256"}>, minor: AbiParameterToPrimitiveType<{"name":"minor","type":"uint256"}>, patch: AbiParameterToPrimitiveType<{"name":"patch","type":"uint256"}>],
    config?: DeployContractConfig
  ): Promise<GetContractReturnType<Semver$Type["abi"]>>;
  export function deployContract(
    contractName: "@ethereum-attestation-service/eas-contracts/contracts/Semver.sol:Semver",
    constructorArgs: [major: AbiParameterToPrimitiveType<{"name":"major","type":"uint256"}>, minor: AbiParameterToPrimitiveType<{"name":"minor","type":"uint256"}>, patch: AbiParameterToPrimitiveType<{"name":"patch","type":"uint256"}>],
    config?: DeployContractConfig
  ): Promise<GetContractReturnType<Semver$Type["abi"]>>;

  export function sendDeploymentTransaction(
    contractName: "Semver",
    constructorArgs: [major: AbiParameterToPrimitiveType<{"name":"major","type":"uint256"}>, minor: AbiParameterToPrimitiveType<{"name":"minor","type":"uint256"}>, patch: AbiParameterToPrimitiveType<{"name":"patch","type":"uint256"}>],
    config?: SendDeploymentTransactionConfig
  ): Promise<{
    contract: GetContractReturnType<Semver$Type["abi"]>;
    deploymentTransaction: GetTransactionReturnType;
  }>;
  export function sendDeploymentTransaction(
    contractName: "@ethereum-attestation-service/eas-contracts/contracts/Semver.sol:Semver",
    constructorArgs: [major: AbiParameterToPrimitiveType<{"name":"major","type":"uint256"}>, minor: AbiParameterToPrimitiveType<{"name":"minor","type":"uint256"}>, patch: AbiParameterToPrimitiveType<{"name":"patch","type":"uint256"}>],
    config?: SendDeploymentTransactionConfig
  ): Promise<{
    contract: GetContractReturnType<Semver$Type["abi"]>;
    deploymentTransaction: GetTransactionReturnType;
  }>;

  export function getContractAt(
    contractName: "Semver",
    address: Address,
    config?: GetContractAtConfig
  ): Promise<GetContractReturnType<Semver$Type["abi"]>>;
  export function getContractAt(
    contractName: "@ethereum-attestation-service/eas-contracts/contracts/Semver.sol:Semver",
    address: Address,
    config?: GetContractAtConfig
  ): Promise<GetContractReturnType<Semver$Type["abi"]>>;
}
