import { ContractFactory, ContractTransactionResponse } from "ethers";
import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers";
import type { NonPayableOverrides } from "../../common";
import type { Groth16VerifierBase, Groth16VerifierBaseInterface } from "../../src/Groth16VerifierBase";
type Groth16VerifierBaseConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
export declare class Groth16VerifierBase__factory extends ContractFactory {
    constructor(...args: Groth16VerifierBaseConstructorParams);
    getDeployTransaction(overrides?: NonPayableOverrides & {
        from?: string;
    }): Promise<ContractDeployTransaction>;
    deploy(overrides?: NonPayableOverrides & {
        from?: string;
    }): Promise<Groth16VerifierBase & {
        deploymentTransaction(): ContractTransactionResponse;
    }>;
    connect(runner: ContractRunner | null): Groth16VerifierBase__factory;
    static readonly bytecode = "0x6080604052348015600f57600080fd5b50611add8061001f6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063b1c3a00e14610046578063d148354c14610071578063e33974a814610086575b600080fd5b610059610054366004611852565b610099565b6040516100689392919061189b565b60405180910390f35b61008461007f36600461190f565b610122565b005b61008461009436600461196b565b6105c5565b6100a16117b6565b6100a96117d4565b60006100be86358760015b6020020135610b2e565b83526100dc6060870135604088013560a089013560808a0135610c23565b602085015260408401526100f660c08701358760076100b4565b606084015261010885358660016100b4565b825261011784358560016100b4565b905093509350939050565b61012a6117d4565b6040805160028082526060808301845292602083019080368337019050509050602081016040848101823750604051600080516020611a888339815191529061017f908735906020808a0135918691016119cb565b6040516020818303038152906040528051906020012060001c6101a29190611a24565b8252604080516000918782377f0256b85c763b5c6d4a711535dc09c8f4f452ddec3826c507bb7e8e8767f94b9060408201527f2463184875f735863d7dc395e21a9c35dfbd55f0aef06dff658da979a190877260608201527f23d326baa3f97897f1b04aad3ddb7aac1fbc563d0a833eb63c1366ebfad1385660808201527f28e365bf671f492d806389c0bf3c5e3f07f0d6de397dcbfb6276a17af441041960a082015260408660c08301377f21893e06bbf88a79686703126202ac1ee86f7626e1b7bb7f0ea5e6b76548ef446101008201527f2979af47e71251837de76657df005d7c62c4a0bd8920ded85aad15eeac4c68066101208201527f0bff059e4bc03d8889965cb753af2c0394387312b491212e91eb9a45f61061196101408201527f0af2d7b1ec1490b3dae15a2fbd5e9b1d6b8ea2e84b28b8506bcdc9befd2e98dd6101608201526020816101808360085afa905116905080610318576040516351d49ff760e11b815260040160405180910390fd5b60008061034f86868a6002806020026040519081016040528092919082600260200280828437600092019190915250610f1a915050565b915091506040516101008a82377f0b2117aa8ff93c1a6da4159a80e604c7680b11680293a964c261e841813a11e66101008201527f1c30a6961d57de03468b32bbc67d553714cd30d255b69ac5ea0138ddd028af1e6101208201527f106158629dc43e0103d6da97ed72f75840995919993cbe5352b7c4cc095b8b216101408201527f250ea7115ab12784b63060c0c558fa69180fc0db2039c801018f316903ded2666101608201527f2348b91709de47711127746bee0a3aea2f4559cd68d1295a6d6c2491e95255d76101808201527f2054f16510d4fe64d70879de170ae5c627566bc6191da4bbb3f6a3e7c373ee356101a08201527f2fa0e9a832e79fd35fb6663782a103272d73a3031f282d2f2debf2c19d1981816101c08201527f28c379b7ff1e313129f675b370caa6414373d7fb1369d101fa4c96108fd8a39e6101e08201527f1da30558868657743c3a734996e1f64e5b6ac1cf6e94a56347fc3489ed7397516102008201527f0c168516ac0f8558a4696a16ef4f4e18262836d4a8eb074267b9e1ae481457bd61022082015282610240820152816102608201527f2365ad4364df27d7ff7337ab715c3a86d182b81b582e937012fa291ccb03a0216102808201527f0f7948a2365bb0c2585355bd07a33a99c40a24122549f40d822fbe4f955030aa6102a08201527f2fdf8d161a599561a1bbff11ea481507722fc373be9b834d4bf0add041acc1b76102c08201527f049c3ff95e8a0fbcee5060641a3d8c846577289694d1cfb8c0b7206b3bb414c26102e08201526020816103008360085afa9051169250826105ba57604051631ff3747d60e21b815260040160405180910390fd5b505050505050505050565b6105cd6117d4565b6105d56117f2565b6105dd611810565b6105ee8660005b6020020135611260565b6020840152825260008061060187611260565b6040805160028082526060808301845294965092945091906020830190803683370190505090506020810160408881018237508451602080870151604051600080516020611a888339815191529361065e939092918691016119cb565b6040516020818303038152906040528051906020012060001c6106819190611a24565b865284518452602085810151858201527f0256b85c763b5c6d4a711535dc09c8f4f452ddec3826c507bb7e8e8767f94b906040808701919091527f2463184875f735863d7dc395e21a9c35dfbd55f0aef06dff658da979a190877260608701527f23d326baa3f97897f1b04aad3ddb7aac1fbc563d0a833eb63c1366ebfad1385660808701527f28e365bf671f492d806389c0bf3c5e3f07f0d6de397dcbfb6276a17af441041960a087015260c0860185905260e086018490527f21893e06bbf88a79686703126202ac1ee86f7626e1b7bb7f0ea5e6b76548ef446101008701527f2979af47e71251837de76657df005d7c62c4a0bd8920ded85aad15eeac4c68066101208701527f0bff059e4bc03d8889965cb753af2c0394387312b491212e91eb9a45f61061196101408701527f0af2d7b1ec1490b3dae15a2fbd5e9b1d6b8ea2e84b28b8506bcdc9befd2e98dd61016087015251600091816101808860085afa905116905080610807576040516351d49ff760e11b815260040160405180910390fd5b50505050600080610824896000600481106105e4576105e46119b5565b9092509050600080808061084060408e013560208f0135611306565b929650909450925090506000806108588f60036105e4565b9150915060008061086a8e8e8e610f1a565b8b8d5260208d018b905260408d0189905260608d018a905260808d0187905260a08d0188905260c08d0186905260e08d018590527f0b2117aa8ff93c1a6da4159a80e604c7680b11680293a964c261e841813a11e66101008e01527f1c30a6961d57de03468b32bbc67d553714cd30d255b69ac5ea0138ddd028af1e6101208e01527f106158629dc43e0103d6da97ed72f75840995919993cbe5352b7c4cc095b8b216101408e01527f250ea7115ab12784b63060c0c558fa69180fc0db2039c801018f316903ded2666101608e01527f2348b91709de47711127746bee0a3aea2f4559cd68d1295a6d6c2491e95255d76101808e01527f2054f16510d4fe64d70879de170ae5c627566bc6191da4bbb3f6a3e7c373ee356101a08e01527f2fa0e9a832e79fd35fb6663782a103272d73a3031f282d2f2debf2c19d1981816101c08e01527f28c379b7ff1e313129f675b370caa6414373d7fb1369d101fa4c96108fd8a39e6101e08e01527f1da30558868657743c3a734996e1f64e5b6ac1cf6e94a56347fc3489ed7397516102008e01527f0c168516ac0f8558a4696a16ef4f4e18262836d4a8eb074267b9e1ae481457bd6102208e01526102408d018290526102608d018190527f2365ad4364df27d7ff7337ab715c3a86d182b81b582e937012fa291ccb03a0216102808e01527f0f7948a2365bb0c2585355bd07a33a99c40a24122549f40d822fbe4f955030aa6102a08e01527f2fdf8d161a599561a1bbff11ea481507722fc373be9b834d4bf0add041acc1b76102c08e01527f049c3ff95e8a0fbcee5060641a3d8c846577289694d1cfb8c0b7206b3bb414c26102e08e015290925090506000610adf6117d4565b6020816103008f60085afa9150811580610afb57508051600114155b15610b1957604051631ff3747d60e21b815260040160405180910390fd5b50505050505050505050505050505050505050565b6000600080516020611a6883398151915283101580610b5b5750600080516020611a688339815191528210155b15610b7957604051631ff3747d60e21b815260040160405180910390fd5b82158015610b85575081155b15610b9257506000610c1d565b6000610bd1600080516020611a688339815191526003600080516020611a6883398151915287600080516020611a68833981519152898a0909086114ec565b9050808303610be6575050600182901b610c1d565b610bef81611550565b8303610c02575050600182811b17610c1d565b604051631ff3747d60e21b815260040160405180910390fd5b505b92915050565b600080600080516020611a6883398151915286101580610c515750600080516020611a688339815191528510155b80610c6a5750600080516020611a688339815191528410155b80610c835750600080516020611a688339815191528310155b15610ca157604051631ff3747d60e21b815260040160405180910390fd5b82848688171717600003610cba57506000905080610f11565b60008080600080516020611a68833981519152610ce66003600080516020611a68833981519152611a46565b600080516020611a688339815191528a8c090990506000600080516020611a688339815191528a600080516020611a688339815191528c8d090990506000600080516020611a688339815191528a600080516020611a688339815191528c8d09099050600080516020611a6883398151915280600080516020611a688339815191528c860984087f2b149d40ceb8aaae81be18991be06ac3b5b4c5e559dbefa33267e6dc24a138e5089450610ddf600080516020611a6883398151915280600080516020611a688339815191528e870984087f2fcd3ac2a640a154eb23960892a85a68f031ca0c8344b23a577dcf1052b9e77508611550565b9350505050600080610e30600080516020611a6883398151915280610e0657610e06611a0e565b600080516020611a68833981519152858609600080516020611a68833981519152878809086114ec565b9050610e7d600080516020611a688339815191527f183227397098d014dc2822db40c0ac2ecbc0b548b438e5469e10460b6c3e7ea4600080516020611a6883398151915284880809611569565b15915050610e8c8383836115b3565b90935091508683148015610e9f57508186145b15610ec95780610eb0576000610eb3565b60025b60ff1660028a901b176000179450879350610f0d565b610ed283611550565b87148015610ee75750610ee482611550565b86145b15610c025780610ef8576000610efb565b60025b60ff1660028a901b1760011794508793505b5050505b94509492505050565b6000806000600190506040516040810160007f22316202d1bd103bc08c8b9947c2d35da5231690d1a40f35b0218458e9bdaca783527f0ccf5f7959cc3350eb55e5d8b6548ac8a5f85d0d3e6d6b031e3914423f1828876020840152865182526020870151602083015260408360808560065afa841693507f101392725dec0f93f6b434e663c79e273381a2befee711b0497c34fdeee9336282527f166206103ff8e43d590e1c4f366ac2b731be4df9554e566318a8d7d8743c9943602083015288359050806040830152600080516020611a8883398151915281108416935060408260608460075afa8416935060408360808560065afa841693507f134b5ea9f8e79434280497acdce2addc05a0944198b536a8d112d3f7429ca2ef82527f0fce592d6ec0828365108bdf235a3d647d6910f9584858335de326c4263dcb04602083015260208901359050806040830152600080516020611a8883398151915281108416935060408260608460075afa8416935060408360808560065afa841693507f2adbc9d8e0f81127bdb37d57b3dada283f6b033472f1cfeeed64991b76672f9182527f2e11be92cac9ef06b9e2983b4628c7c06242e199786364eb36dcdf28b08c40da602083015260408901359050806040830152600080516020611a8883398151915281108416935060408260608460075afa8416935060408360808560065afa841693507f16859fa9957ce90f647ab6238881669181cc7cd59cdcb1df6ec3c9e107da329e82527f0d3a204069ec72d3779c7f120490ce6c88b477191d32e9f5df1c32e513d79f9e602083015260608901359050806040830152600080516020611a8883398151915281108416935060408260608460075afa8416935060408360808560065afa7f15510d88d90b935f1be735dc7c96fb9188a74f11ae3194b33ce0fc8c5356752183527f057035a46af89448978947d9f489f602cc79047713790468077b61e551f5eaef602084015288516040808501829052600080516020611a8883398151915290911091909516169390508160608160075afa831692505060408160808360065afa815160209092015191945090925016806112575760405163a54f8e2760e01b815260040160405180910390fd5b50935093915050565b6000808260000361127657506000928392509050565b600183811c925080841614600080516020611a6883398151915283106112af57604051631ff3747d60e21b815260040160405180910390fd5b6112ec600080516020611a688339815191526003600080516020611a6883398151915286600080516020611a6883398151915288890909086114ec565b91508015611300576112fd82611550565b91505b50915091565b600080808085158015611317575084155b1561132d575060009250829150819050806114e3565b600286811c94508593506001808816149080881614600080516020611a688339815191528610158061136d5750600080516020611a688339815191528510155b1561138b57604051631ff3747d60e21b815260040160405180910390fd5b6000600080516020611a688339815191526113b56003600080516020611a68833981519152611a46565b600080516020611a68833981519152888a090990506000600080516020611a6883398151915288600080516020611a688339815191528a8b090990506000600080516020611a6883398151915288600080516020611a688339815191528a8b09099050600080516020611a6883398151915280600080516020611a688339815191528a860984087f2b149d40ceb8aaae81be18991be06ac3b5b4c5e559dbefa33267e6dc24a138e50896506114ae600080516020611a6883398151915280600080516020611a688339815191528c870984087f2fcd3ac2a640a154eb23960892a85a68f031ca0c8344b23a577dcf1052b9e77508611550565b95506114bb8787866115b3565b909750955084156114dd576114cf87611550565b96506114da86611550565b95505b50505050505b92959194509250565b6000611518827f0c19139cb84c680a6e14116da060561765e05aa45a1c72a34f082305b61f3f526116f1565b905081600080516020611a688339815191528283091461154b57604051631ff3747d60e21b815260040160405180910390fd5b919050565b600080516020611a688339815191529081900681030690565b600080611596837f0c19139cb84c680a6e14116da060561765e05aa45a1c72a34f082305b61f3f526116f1565b905082600080516020611a68833981519152828309149392505050565b600080806115e5600080516020611a6883398151915280878809600080516020611a68833981519152898a09086114ec565b905083156115f9576115f681611550565b90505b611644600080516020611a688339815191527f183227397098d014dc2822db40c0ac2ecbc0b548b438e5469e10460b6c3e7ea4600080516020611a68833981519152848a08096114ec565b9250600080516020611a68833981519152611670600080516020611a6883398151915260028609611756565b86099150600080516020611a6883398151915261169d600080516020611a68833981519152848509611550565b600080516020611a6883398151915285860908861415806116d35750600080516020611a68833981519152808385096002098514155b1561125757604051631ff3747d60e21b815260040160405180910390fd5b6000806040516020815260208082015260206040820152846060820152836080820152600080516020611a6883398151915260a082015260208160c08360055afa90519250905080610c1b57604051631ff3747d60e21b815260040160405180910390fd5b6000611782827f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd456116f1565b9050600080516020611a6883398151915281830960011461154b57604051631ff3747d60e21b815260040160405180910390fd5b60405180608001604052806004906020820280368337509192915050565b60405180602001604052806001906020820280368337509192915050565b60405180604001604052806002906020820280368337509192915050565b6040518061030001604052806018906020820280368337509192915050565b806101008101831015610c1d57600080fd5b8060408101831015610c1d57600080fd5b6000806000610180848603121561186857600080fd5b611872858561182f565b9250611882856101008601611841565b9150611892856101408601611841565b90509250925092565b60c08101818560005b60048110156118c35781518352602092830192909101906001016118a4565b505050608082018460005b60018110156118ed5781518352602092830192909101906001016118ce565b5050508260a0830152949350505050565b8060808101831015610c1d57600080fd5b600080600080610200858703121561192657600080fd5b611930868661182f565b9350611940866101008701611841565b9250611950866101408701611841565b91506119608661018087016118fe565b905092959194509250565b600080600080610140858703121561198257600080fd5b61198c86866118fe565b935060a085018681111561199f57600080fd5b6080860193503591506119608660c087016118fe565b634e487b7160e01b600052603260045260246000fd5b83815282602082015260006040820183516020850160005b82811015611a015781518452602093840193909101906001016119e3565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b600082611a4157634e487b7160e01b600052601260045260246000fd5b500690565b81810381811115610c1d57634e487b7160e01b600052601160045260246000fdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a2646970667358221220808ed60c7d3e00ef3390933de13527d3e962378a1a35204be3d24bb5a56db2a264736f6c634300081c0033";
    static readonly abi: readonly [{
        readonly inputs: readonly [];
        readonly name: "CommitmentInvalid";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "ProofInvalid";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "PublicInputNotInField";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256[8]";
            readonly name: "proof";
            readonly type: "uint256[8]";
        }, {
            readonly internalType: "uint256[2]";
            readonly name: "commitments";
            readonly type: "uint256[2]";
        }, {
            readonly internalType: "uint256[2]";
            readonly name: "commitmentPok";
            readonly type: "uint256[2]";
        }];
        readonly name: "compressProof";
        readonly outputs: readonly [{
            readonly internalType: "uint256[4]";
            readonly name: "compressed";
            readonly type: "uint256[4]";
        }, {
            readonly internalType: "uint256[1]";
            readonly name: "compressedCommitments";
            readonly type: "uint256[1]";
        }, {
            readonly internalType: "uint256";
            readonly name: "compressedCommitmentPok";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256[4]";
            readonly name: "compressedProof";
            readonly type: "uint256[4]";
        }, {
            readonly internalType: "uint256[1]";
            readonly name: "compressedCommitments";
            readonly type: "uint256[1]";
        }, {
            readonly internalType: "uint256";
            readonly name: "compressedCommitmentPok";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256[4]";
            readonly name: "input";
            readonly type: "uint256[4]";
        }];
        readonly name: "verifyCompressedProof";
        readonly outputs: readonly [];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256[8]";
            readonly name: "proof";
            readonly type: "uint256[8]";
        }, {
            readonly internalType: "uint256[2]";
            readonly name: "commitments";
            readonly type: "uint256[2]";
        }, {
            readonly internalType: "uint256[2]";
            readonly name: "commitmentPok";
            readonly type: "uint256[2]";
        }, {
            readonly internalType: "uint256[4]";
            readonly name: "input";
            readonly type: "uint256[4]";
        }];
        readonly name: "verifyProof";
        readonly outputs: readonly [];
        readonly stateMutability: "view";
        readonly type: "function";
    }];
    static createInterface(): Groth16VerifierBaseInterface;
    static connect(address: string, runner?: ContractRunner | null): Groth16VerifierBase;
}
export {};
