import type { Addressable } from "ethers";
import { ContractFactory, ContractTransactionResponse } from "ethers";
import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers";
import type { NonPayableOverrides } from "../../common.js";
import type { Interfold, InterfoldInterface } from "../../contracts/Interfold.js";
type InterfoldConstructorParams = [linkLibraryAddresses: InterfoldLibraryAddresses, signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
export declare class Interfold__factory extends ContractFactory {
    constructor(...args: InterfoldConstructorParams);
    static linkBytecode(linkLibraryAddresses: InterfoldLibraryAddresses): string;
    getDeployTransaction(overrides?: NonPayableOverrides & {
        from?: string;
    }): Promise<ContractDeployTransaction>;
    deploy(overrides?: NonPayableOverrides & {
        from?: string;
    }): Promise<Interfold & {
        deploymentTransaction(): ContractTransactionResponse;
    }>;
    connect(runner: ContractRunner | null): Interfold__factory;
    static readonly bytecode = " $0b7433a1d41aaaf1f4460e9b498e54afbc$ $0b7433a1d41aaaf1f4460e9b498e54afbc$__631a2dd41d8a8460068111156120ee576120ee614848565b60208501516060880151600160200201516101608901516040516001600160e01b031960e088901b168152600481019590955260ff90931660248501526044840191909152606483015260848201524260a482015260c40160006040518083038186803b15801561215e57600080fd5b505af4158015612172573d6000803e3d6000fd5b505050506000888860405161218892919061531a565b604080519182900390912060008c815260086020908152838220600b01839055600d905291909120805460ff191660041790556017549091506121cb9042615075565b60008b8152600e6020526040908190206002019190915560a08501519051632f0e1bbf60e01b81526001600160a01b0390911690632f0e1bbf90612219908d9085908c908c906004016154d0565b6020604051808303816000875af1158015612238573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061225c91906153f4565b945088888661228057604051632f9f8ab960e01b8152600401610c129291906154fa565b5050897f7cc27e4a5626cbc4f8ba1a927b0448de55e6a114bc87660331270c5109ade0718a8a6040516122b49291906154fa565b60405180910390a289600080516020615e9e833981519152600360046040516122de9291906150a9565b60405180910390a25050505095945050505050565b600080600b8161230960a0860160808701614b6d565b60ff1660ff168152602001908152602001600020805461232890615015565b90501161233457600080fd5b6000601281612346602086018661550e565b600381111561235757612357614848565b600381111561236857612368614848565b815260208101919091526040908101600020815180830190925260028282826020028201916000905b82829054906101000a900463ffffffff1663ffffffff16815260200190600401906020826003010492830192600103820291508084116123915790505050604080516101e0810182526018548152601954602080830191909152601a5492820192909252601b546060820152601c546080820152601d5460a0820152601e5460c0820152601f546001600160a01b03811660e083015261ffff600160a01b82048116610100840152600160b01b82048116610120840152600160c01b82048116610140840152600160d01b82048116610160840152600160e01b90910416610180820152815463ffffffff8082166101a0840152600160201b909104166101c082015294955073__$0b7433a1d41aaaf1f4460e9b498e54afbc$__9350634ff2c9f592508591506124c49088018861550e565b60038111156124d5576124d5614848565b846101a00151856101c001516040518563ffffffff1660e01b81526004016125009493929190615552565b60006040518083038186803b15801561251857600080fd5b505af415801561252c573d6000803e3d6000fd5b5050505073__$0b7433a1d41aaaf1f4460e9b498e54afbc$__63c5bf9dbf6018601560008054906101000a90046001600160a01b03166001600160a01b0316639f0f874a6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561259f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125c39190615204565b604080516001600160e01b031960e087901b1681526125f394939291899160208d0135918d013590600401615585565b602060405180830381865af4158015612610573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126349190615204565b949350505050565b612644613961565b816001600160a01b03811661266d5760405163eddf07f560e01b8152600401610c1291906147cd565b506001600160a01b038216600081815260216020908152604091829020805460ff19168515159081179091559151918252600080516020615ebe83398151915291016117d7565b60006126c08233613b05565b9050600081116126e3576040516312d37ee560e31b815260040160405180910390fd5b919050565b6000546001600160a01b031633148061270b57506003546001600160a01b031633145b61272857604051639e75a8b560e01b815260040160405180910390fd5b60008160ff1611801561273f5750600d60ff821611155b61274857600080fd5b6000828152600d602052604090205460ff1673__$0b7433a1d41aaaf1f4460e9b498e54afbc$__637e262a6f8483600681111561278757612787614848565b6040516001600160e01b031960e085901b168152600481019290925260ff16602482015260440160006040518083038186803b1580156127c657600080fd5b505af41580156127da573d6000803e3d6000fd5b505050506127fd83828460ff16600d8111156127f8576127f8614848565b614120565b505050565b61280a613961565b6001600160a01b03811661281d57600080fd5b600380546001600160a01b0319166001600160a01b0383169081179091556040517f4ccc8ed483c7c44c3602c3c38afc2c014a8f1d2dc210dfe58ebeeeead230f8e090600090a250565b6003546001600160a01b03163314612892576040516357d6948d60e11b815260040160405180910390fd5b60025460405163c1ab0f1f60e01b81526001600160a01b039091169063c1ab0f1f906128c490859085906004016150c4565b600060405180830381600087803b1580156128de57600080fd5b505af11580156128f2573d6000803e3d6000fd5b50505050817f4f41a3b0a032ebcae925f2ace77d507435840ca4b2dbaffdd7723fa8d72ee542826040516117d791815260200190565b612930613961565b6001600160a01b0381161580159061296257506000828152600960205260409020546001600160a01b03828116911614155b8290612984576040516381c4951960e01b8152600401610c1291815260200190565b5060008281526009602090815260409182902080546001600160a01b0319166001600160a01b03851617905590518381527ff4041a3f914dac3bc9bf5f003ba41f28dbb84abe42f4e07c76266f5c8ceecb69910160405180910390a15050565b6129ec613961565b600081118015612a0057506301e133808111155b8190612a22576040516313b783af60e21b8152600401610c1291815260200190565b5060058190556040518181527fba0716ba1ee2ea8ecc4c64119b4537cdb42a99d82acf92af5b87607b8b52355290602001610cc8565b612a60613961565b6040516337866a9160e01b815273__$0b7433a1d41aaaf1f4460e9b498e54afbc$__906337866a9190612a979084906004016157dc565b60006040518083038186803b158015612aaf57600080fd5b505af4158015612ac3573d6000803e3d6000fd5b505050508060188181612ad69190615812565b9050507fbf3951313e980027eb48ce363fdb707286195ec6a0f802ac153927cf929c3fc681604051610cc891906157dc565b600080611e266141cb565b612b1b613961565b6001600160a01b03811615801590612b4157506001546001600160a01b03828116911614155b8190612b61576040516320252f0b60e01b8152600401610c1291906147cd565b50600180546001600160a01b0319166001600160a01b0383161790556040517fad4055f18cdad6f4bdd71afe3a72cbeee964217943e1bde38f138289e981a9a790610cc89083906147cd565b612bb5613961565b604080516101e0810182526018548152601954602080830191909152601a5482840152601b546060830152601c546080830152601d5460a0830152601e5460c0830152601f546001600160a01b03811660e084015261ffff600160a01b82048116610100850152600160b01b82048116610120850152600160c01b82048116610140850152600160d01b82048116610160850152600160e01b909104166101808301525463ffffffff8082166101a08401819052600160201b909204166101c08301819052925163588370a960e11b8152919273__$0b7433a1d41aaaf1f4460e9b498e54afbc$__9263b106e15292612cb29287926004016159d2565b60006040518083038186803b158015612cca57600080fd5b505af4158015612cde573d6000803e3d6000fd5b505050508160126000856003811115612cf957612cf9614848565b6003811115612d0a57612d0a614848565b81526020810191909152604001600020612d25916002614641565b50826003811115612d3857612d38614848565b7f8b56fae526eee054f0849759a99fc7d4ff3823824ebf097a56f7d78adb6b34fa83604051612d679190615a2d565b60405180910390a2505050565b612d7c613961565b6000612d866141cb565b80546001600160a01b0319166001600160a01b0384169081178255909150612dac611e1b565b6001600160a01b03167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e2270060405160405180910390a35050565b6000612def6145c1565b6004546001600160a01b031660008181526021602052604090205460ff16612e2b576040516335b99e4360e11b8152600401610c1291906147cd565b506000601281612e3e602087018761550e565b6003811115612e4f57612e4f614848565b6003811115612e6057612e60614848565b815260208101919091526040908101600020815180830190925260028282826020028201916000905b82829054906101000a900463ffffffff1663ffffffff1681526020019060040190602082600301049283019260010382029150808411612e895790505050505050905060076000856060016020810190612ee3919061478a565b6001600160a01b0316815260208101919091526040016000205460ff16612f10608086016060870161478a565b90612f2f5760405163295a6a6f60e11b8152600401610c1291906147cd565b506000612f3b856122f3565b601654601754600554604051637cad360760e01b815293945073__$0b7433a1d41aaaf1f4460e9b498e54afbc$__93637cad360793612f859360208c019342938990600401615a6e565b60006040518083038186803b158015612f9d57600080fd5b505af4158015612fb1573d6000803e3d6000fd5b505060068054965086925090506000612fc983615a9f565b919050555060004485604051602001612fe39291906150c4565b60408051808303601f1901815291815281516020928301206000888152600c84528281208690556004546011855283822080546001600160a01b039283166001600160a01b031991821617909155601f8054601388528685208054600160b01b90920461ffff1661ffff19909216919091179055546014875285842080549190931690821617909155600d8552838220805460ff191660011790556010909452829020805490931633179092556016549192506130a39190880135615075565b6000868152600e60209081526040909120600101919091558185526130ca9087018761550e565b846020019060038111156130e0576130e0614848565b908160038111156130f3576130f3614848565b90525042604080860191909152805180820182529060208801906002908390839080828437600092019190915250505060608086019190915261313c906080880190880161478a565b6001600160a01b031660a08086019190915261315d90870160808801614b6d565b60ff1660c08086019190915261317590870187615ab8565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060e0808601919091526131c3906101008801908801615afe565b15156101c0850152336101a08501526000600b816131e760a08a0160808b01614b6d565b60ff1660ff168152602001908152602001600020805461320690615015565b80601f016020809104026020016040519081016040528092919081815260200182805461323290615015565b801561327f5780601f106132545761010080835404028352916020019161327f565b820191906000526020600020905b81548152906001019060200180831161326257829003601f168201915b50505050509050600087606001602081019061329b919061478a565b6001600160a01b031663fefd9a8b8885856132b960a08e018e615ab8565b8e8060c001906132c99190615ab8565b6040518863ffffffff1660e01b81526004016132eb9796959493929190615b1b565b6020604051808303816000875af115801561330a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061332e9190615204565b6000818152600960205260409020549091506001600160a01b0316818161336b576040516381c4951960e01b8152600401610c1291815260200190565b506000828152600a60205260409020546001600160a01b031682816133a6576040516381c4951960e01b8152600401610c1291815260200190565b50608088018390526001600160a01b038083166101008a0152811661012089015260008981526008602090815260409091208951815590890151600180830180548c94939260ff19919091169083600381111561340557613405614848565b02179055506040820151816002015560608201518160030190600261342b9291906146e3565b506080820151600582015560a082015160068201805460c085015160ff16600160a01b026001600160a81b03199091166001600160a01b039093169290921791909117905560e082015160078201906134849082615b70565b506101008201516008820180546001600160a01b039283166001600160a01b031991821617909155610120840151600984018054919093169116179055610140820151600a820155610160820151600b820155610180820151600c8201906134ec9082615b70565b506101a0820151600d90910180546101c0909301511515600160a01b026001600160a81b03199093166001600160a01b03928316179290921790915560045461353891163330896141ef565b60005460405163291a691b60e01b81526001600160a01b039091169063291a691b9061356c908c9089908c90600401615c28565b6020604051808303816000875af115801561358b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135af91906153f4565b6135cc57604051630d8dbe2560e01b815260040160405180910390fd5b6135dc60808b0160608c0161478a565b6001600160a01b03167f5090c9764b5cd13df7afc0013f733dfbe6eaf1b6ddc22a5e291fa387efd4c15e8a8a604051613616929190614ffc565b60405180910390a288600080516020615e9e833981519152600060016040516136409291906150a9565b60405180910390a250505050505050915091565b6000818152600d602052604081205460ff1673__$0b7433a1d41aaaf1f4460e9b498e54afbc$__637e262a6f8483600681111561369357613693614848565b6040516001600160e01b031960e085901b168152600481019290925260ff16602482015260440160006040518083038186803b1580156136d257600080fd5b505af41580156136e6573d6000803e3d6000fd5b505050506000806136f785846140ec565b90955090925090508161372057604051639f65d93560e01b815260048101869052602401610c12565b60245480156138225760006137358284615075565b9050804210801561375d57506000878152601060205260409020546001600160a01b03163314155b8015613782575061376c611e1b565b6001600160a01b0316336001600160a01b031614155b80156137fe575060005460405163a8a4d69b60e01b8152600481018990523360248201526001600160a01b039091169063a8a4d69b90604401602060405180830381865afa1580156137d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137fc91906153f4565b155b156138205786816040516324d4b88f60e21b8152600401610c129291906150c4565b505b61382d868587614120565b50505050919050565b61383e613961565b6001600160a01b0381161580159061386457506000546001600160a01b03828116911614155b8190613884576040516375ac4eb760e11b8152600401610c1291906147cd565b50600080546001600160a01b0319166001600160a01b0383161790556040517f80052b810d39120cf6c976cca504a21703f585521dc7a41c6d241090e6c579b690610cc89083906147cd565b6001600160a01b038116600090815260076020526040902054819060ff161561390d5760405163b29d459560e01b8152600401610c1291906147cd565b506001600160a01b03811660009081526007602052604090819020805460ff19166001179055517fb8d368517268f297fff00825d67d098763117d061360d31027be5b2e1a59d46790610cc89083906147cd565b3361396a611e1b565b6001600160a01b031614613993573360405163118cdaa760e01b8152600401610c1291906147cd565b565b604051631754d37160e01b815273__$0b7433a1d41aaaf1f4460e9b498e54afbc$__90631754d371906139d190849062278d0090600401615c87565b60006040518083038186803b1580156139e957600080fd5b505af41580156139fd573d6000803e3d6000fd5b5050508135601555506020810135601655604080820135601755517f7e86ba16b805e2835af5c5b7aa5a942ced8bcc1fb95a05fbe42dae3862350a1690610cc8908390615ca2565b6040516001600160a01b038381166024830152604482018390526127fd91859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180516001600160e01b038381831617835250505050614228565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610b1a565b613ad5614290565b610ce4816142b5565b6000613ae86141cb565b80546001600160a01b03191681559050613b01826142e7565b5050565b60008281526022602090815260408083206001600160a01b038516845290915281205490819003613b3857506000610b1a565b60008381526022602090815260408083206001600160a01b03808716855290835281842084905586845260119092529091205416613b77818484613a45565b806001600160a01b0316836001600160a01b0316857fd7566a1f449b7ee89a6af29f319e117c231ea862057eb65395ca2bf70283b1c885604051613bbd91815260200190565b60405180910390a45092915050565b6000805460405162beb08960e51b8152600481018490526001600160a01b03909116906317d6112090602401600060405180830381865afa158015613c15573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613c3d9190810190615d0e565b5080516000848152600c60209081526040808320805490849055601190925282205493945091926001600160a01b031690829003613ce2576002546040516341489f1560e01b81526001600160a01b03909116906341489f1590613ca990889088908690600401615d77565b600060405180830381600087803b158015613cc357600080fd5b505af1158015613cd7573d6000803e3d6000fd5b505050505050505050565b82600003613d8a576000858152601060205260409020546001600160a01b03168015613d1c57613d1c6001600160a01b0383168285613a45565b6002546040516341489f1560e01b81526001600160a01b03909116906341489f1590613d5090899089908790600401615d77565b600060405180830381600087803b158015613d6a57600080fd5b505af1158015613d7e573d6000803e3d6000fd5b50505050505050505050565b600085815260136020908152604080832054601490925282205461ffff909116906001600160a01b03168115801590613dcb57506001600160a01b03811615155b15613e8057612710613de161ffff841687615da8565b613deb9190615dbf565b92508215613e80576001600160a01b03808216600090815260236020908152604080832093881683529290529081208054859290613e2a908490615075565b92505081905550836001600160a01b0316816001600160a01b0316897f62d886e26db625296d628b1cf7f47f83051f9d83e216a8ad38041673a2058f9a86604051613e7791815260200190565b60405180910390a45b6000613e8c8487615de1565b60405160016233c60b60e11b031981526004810182905260248101899052604481018b905290915060009073__$0b7433a1d41aaaf1f4460e9b498e54afbc$ ";
    static readonly abi: readonly [{
        readonly inputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "constructor";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "size";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "minimum";
            readonly type: "uint256";
        }];
        readonly name: "BelowMinCommitteeSize";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "threshold";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "minimum";
            readonly type: "uint256";
        }];
        readonly name: "BelowMinThreshold";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "value";
            readonly type: "uint256";
        }];
        readonly name: "BpsExceedsMax";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }];
        readonly name: "CiphertextOutputAlreadyPublished";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }];
        readonly name: "CiphertextOutputNotPublished";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "expiration";
            readonly type: "uint256";
        }];
        readonly name: "CommitteeDutiesCompleted";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "CommitteeSelectionFailed";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "enum IInterfold.CommitteeSize";
            readonly name: "committeeSize";
            readonly type: "uint8";
        }];
        readonly name: "CommitteeSizeNotConfigured";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "enum IInterfold.CommitteeSize";
            readonly name: "committeeSize";
            readonly type: "uint8";
        }];
        readonly name: "CommitteeSizeTooSmall";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }];
        readonly name: "E3AlreadyComplete";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }];
        readonly name: "E3AlreadyFailed";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }];
        readonly name: "E3DoesNotExist";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }];
        readonly name: "E3NotFailed";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "contract IE3Program";
            readonly name: "e3Program";
            readonly type: "address";
        }];
        readonly name: "E3ProgramNotAllowed";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }];
        readonly name: "FailureConditionNotMet";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "contract IERC20";
            readonly name: "token";
            readonly type: "address";
        }];
        readonly name: "FeeTokenNotAllowed";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "inputDeadline";
            readonly type: "uint256";
        }];
        readonly name: "InputDeadlineNotReached";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "contract IBondingRegistry";
            readonly name: "bondingRegistry";
            readonly type: "address";
        }];
        readonly name: "InvalidBondingRegistry";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "contract ICiphernodeRegistry";
            readonly name: "ciphernodeRegistry";
            readonly type: "address";
        }];
        readonly name: "InvalidCiphernodeRegistry";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "duration";
            readonly type: "uint256";
        }];
        readonly name: "InvalidDuration";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "encryptionSchemeId";
            readonly type: "bytes32";
        }];
        readonly name: "InvalidEncryptionScheme";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "contract IERC20";
            readonly name: "feeToken";
            readonly type: "address";
        }];
        readonly name: "InvalidFeeToken";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "InvalidInitialization";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "deadline";
            readonly type: "uint256";
        }];
        readonly name: "InvalidInputDeadline";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "end";
            readonly type: "uint256";
        }];
        readonly name: "InvalidInputDeadlineEnd";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "start";
            readonly type: "uint256";
        }];
        readonly name: "InvalidInputDeadlineStart";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes";
            readonly name: "output";
            readonly type: "bytes";
        }];
        readonly name: "InvalidOutput";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }, {
            readonly internalType: "enum IInterfold.E3Stage";
            readonly name: "expected";
            readonly type: "uint8";
        }, {
            readonly internalType: "enum IInterfold.E3Stage";
            readonly name: "actual";
            readonly type: "uint8";
        }];
        readonly name: "InvalidStage";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "InvalidThresholdValues";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "InvalidTimeoutWindow";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "gracePeriodEnds";
            readonly type: "uint256";
        }];
        readonly name: "MarkE3FailedInGracePeriod";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "MinSizeBelowMinThreshold";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "module";
            readonly type: "address";
        }];
        readonly name: "ModuleAlreadyEnabled";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "module";
            readonly type: "address";
        }];
        readonly name: "ModuleNotEnabled";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }];
        readonly name: "NoPaymentToRefund";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "NotInitializing";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "NothingToClaim";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "OnlyCiphernodeRegistry";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "OnlyCiphernodeRegistryOrSlashingManager";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "OnlySlashingManager";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "owner";
            readonly type: "address";
        }];
        readonly name: "OwnableInvalidOwner";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "account";
            readonly type: "address";
        }];
        readonly name: "OwnableUnauthorizedAccount";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "value";
            readonly type: "uint256";
        }];
        readonly name: "PaymentRequired";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }];
        readonly name: "PlaintextOutputAlreadyPublished";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "ProofRequired";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "RenounceOwnershipDisabled";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "token";
            readonly type: "address";
        }];
        readonly name: "SafeERC20FailedOperation";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "threshold";
            readonly type: "uint256";
        }];
        readonly name: "ThresholdTooSmall";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "TreasuryRequired";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "value";
            readonly type: "uint256";
        }];
        readonly name: "UtilizationBpsExceedsMax";
        readonly type: "error";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "bondingRegistry";
            readonly type: "address";
        }];
        readonly name: "BondingRegistrySet";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "ciphernodeRegistry";
            readonly type: "address";
        }];
        readonly name: "CiphernodeRegistrySet";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "bytes";
            readonly name: "ciphertextOutput";
            readonly type: "bytes";
        }];
        readonly name: "CiphertextOutputPublished";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }];
        readonly name: "CommitteeFinalized";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }];
        readonly name: "CommitteeFormed";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "enum IInterfold.CommitteeSize";
            readonly name: "size";
            readonly type: "uint8";
        }, {
            readonly indexed: false;
            readonly internalType: "uint32[2]";
            readonly name: "threshold";
            readonly type: "uint32[2]";
        }];
        readonly name: "CommitteeThresholdsUpdated";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "enum IInterfold.E3Stage";
            readonly name: "failedAtStage";
            readonly type: "uint8";
        }, {
            readonly indexed: false;
            readonly internalType: "enum IInterfold.FailureReason";
            readonly name: "reason";
            readonly type: "uint8";
        }];
        readonly name: "E3Failed";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "paymentAmount";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "honestNodeCount";
            readonly type: "uint256";
        }];
        readonly name: "E3FailureProcessed";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "contract IE3Program";
            readonly name: "e3Program";
            readonly type: "address";
        }];
        readonly name: "E3ProgramDisabled";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "contract IE3Program";
            readonly name: "e3Program";
            readonly type: "address";
        }];
        readonly name: "E3ProgramEnabled";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "e3RefundManager";
            readonly type: "address";
        }];
        readonly name: "E3RefundManagerSet";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }, {
            readonly components: readonly [{
                readonly internalType: "uint256";
                readonly name: "seed";
                readonly type: "uint256";
            }, {
                readonly internalType: "enum IInterfold.CommitteeSize";
                readonly name: "committeeSize";
                readonly type: "uint8";
            }, {
                readonly internalType: "uint256";
                readonly name: "requestBlock";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256[2]";
                readonly name: "inputWindow";
                readonly type: "uint256[2]";
            }, {
                readonly internalType: "bytes32";
                readonly name: "encryptionSchemeId";
                readonly type: "bytes32";
            }, {
                readonly internalType: "contract IE3Program";
                readonly name: "e3Program";
                readonly type: "address";
            }, {
                readonly internalType: "uint8";
                readonly name: "paramSet";
                readonly type: "uint8";
            }, {
                readonly internalType: "bytes";
                readonly name: "customParams";
                readonly type: "bytes";
            }, {
                readonly internalType: "contract IDecryptionVerifier";
                readonly name: "decryptionVerifier";
                readonly type: "address";
            }, {
                readonly internalType: "contract IPkVerifier";
                readonly name: "pkVerifier";
                readonly type: "address";
            }, {
                readonly internalType: "bytes32";
                readonly name: "committeePublicKey";
                readonly type: "bytes32";
            }, {
                readonly internalType: "bytes32";
                readonly name: "ciphertextOutput";
                readonly type: "bytes32";
            }, {
                readonly internalType: "bytes";
                readonly name: "plaintextOutput";
                readonly type: "bytes";
            }, {
                readonly internalType: "address";
                readonly name: "requester";
                readonly type: "address";
            }, {
                readonly internalType: "bool";
                readonly name: "proofAggregationEnabled";
                readonly type: "bool";
            }];
            readonly indexed: false;
            readonly internalType: "struct E3";
            readonly name: "e3";
            readonly type: "tuple";
        }, {
            readonly indexed: true;
            readonly internalType: "contract IE3Program";
            readonly name: "e3Program";
            readonly type: "address";
        }];
        readonly name: "E3Requested";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "enum IInterfold.E3Stage";
            readonly name: "previousStage";
            readonly type: "uint8";
        }, {
            readonly indexed: false;
            readonly internalType: "enum IInterfold.E3Stage";
            readonly name: "newStage";
            readonly type: "uint8";
        }];
        readonly name: "E3StageChanged";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "bytes32";
            readonly name: "encryptionSchemeId";
            readonly type: "bytes32";
        }];
        readonly name: "EncryptionSchemeDisabled";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "bytes32";
            readonly name: "encryptionSchemeId";
            readonly type: "bytes32";
        }];
        readonly name: "EncryptionSchemeEnabled";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "contract IERC20";
            readonly name: "token";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "bool";
            readonly name: "allowed";
            readonly type: "bool";
        }];
        readonly name: "FeeTokenAllowed";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "feeToken";
            readonly type: "address";
        }];
        readonly name: "FeeTokenSet";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "uint64";
            readonly name: "version";
            readonly type: "uint64";
        }];
        readonly name: "Initialized";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "bytes";
            readonly name: "data";
            readonly type: "bytes";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "inputHash";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "index";
            readonly type: "uint256";
        }];
        readonly name: "InputPublished";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "gracePeriod";
            readonly type: "uint256";
        }];
        readonly name: "MarkFailedGracePeriodSet";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "maxDuration";
            readonly type: "uint256";
        }];
        readonly name: "MaxDurationSet";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "previousOwner";
            readonly type: "address";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "newOwner";
            readonly type: "address";
        }];
        readonly name: "OwnershipTransferStarted";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "previousOwner";
            readonly type: "address";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "newOwner";
            readonly type: "address";
        }];
        readonly name: "OwnershipTransferred";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "uint8";
            readonly name: "paramSet";
            readonly type: "uint8";
        }, {
            readonly indexed: false;
            readonly internalType: "bytes";
            readonly name: "encodedParams";
            readonly type: "bytes";
        }];
        readonly name: "ParamSetRegistered";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "uint8";
            readonly name: "paramSet";
            readonly type: "uint8";
        }, {
            readonly indexed: false;
            readonly internalType: "bytes";
            readonly name: "previousEncodedParams";
            readonly type: "bytes";
        }, {
            readonly indexed: false;
            readonly internalType: "bytes";
            readonly name: "newEncodedParams";
            readonly type: "bytes";
        }];
        readonly name: "ParamSetUpdated";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "bytes32";
            readonly name: "encryptionSchemeId";
            readonly type: "bytes32";
        }, {
            readonly indexed: true;
            readonly internalType: "contract IPkVerifier";
            readonly name: "pkVerifier";
            readonly type: "address";
        }];
        readonly name: "PkVerifierSet";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "bytes";
            readonly name: "plaintextOutput";
            readonly type: "bytes";
        }, {
            readonly indexed: false;
            readonly internalType: "bytes";
            readonly name: "proof";
            readonly type: "bytes";
        }];
        readonly name: "PlaintextOutputPublished";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly components: readonly [{
                readonly internalType: "uint256";
                readonly name: "keyGenFixedPerNode";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "keyGenPerEncryptionProof";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "coordinationPerPair";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "availabilityPerNodePerSec";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "decryptionPerNode";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "publicationBase";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "verificationPerProof";
                readonly type: "uint256";
            }, {
                readonly internalType: "address";
                readonly name: "protocolTreasury";
                readonly type: "address";
            }, {
                readonly internalType: "uint16";
                readonly name: "marginBps";
                readonly type: "uint16";
            }, {
                readonly internalType: "uint16";
                readonly name: "protocolShareBps";
                readonly type: "uint16";
            }, {
                readonly internalType: "uint16";
                readonly name: "dkgUtilizationBps";
                readonly type: "uint16";
            }, {
                readonly internalType: "uint16";
                readonly name: "computeUtilizationBps";
                readonly type: "uint16";
            }, {
                readonly internalType: "uint16";
                readonly name: "decryptUtilizationBps";
                readonly type: "uint16";
            }, {
                readonly internalType: "uint32";
                readonly name: "minCommitteeSize";
                readonly type: "uint32";
            }, {
                readonly internalType: "uint32";
                readonly name: "minThreshold";
                readonly type: "uint32";
            }];
            readonly indexed: false;
            readonly internalType: "struct IInterfold.PricingConfig";
            readonly name: "config";
            readonly type: "tuple";
        }];
        readonly name: "PricingConfigUpdated";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "account";
            readonly type: "address";
        }, {
            readonly indexed: true;
            readonly internalType: "contract IERC20";
            readonly name: "token";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "amount";
            readonly type: "uint256";
        }];
        readonly name: "RewardClaimed";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "account";
            readonly type: "address";
        }, {
            readonly indexed: true;
            readonly internalType: "contract IERC20";
            readonly name: "token";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "amount";
            readonly type: "uint256";
        }];
        readonly name: "RewardCredited";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "address[]";
            readonly name: "nodes";
            readonly type: "address[]";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256[]";
            readonly name: "amounts";
            readonly type: "uint256[]";
        }];
        readonly name: "RewardsDistributed";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "amount";
            readonly type: "uint256";
        }];
        readonly name: "SlashedFundsEscrowed";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "slashingManager";
            readonly type: "address";
        }];
        readonly name: "SlashingManagerSet";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly components: readonly [{
                readonly internalType: "uint256";
                readonly name: "dkgWindow";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "computeWindow";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "decryptionWindow";
                readonly type: "uint256";
            }];
            readonly indexed: false;
            readonly internalType: "struct IInterfold.E3TimeoutConfig";
            readonly name: "config";
            readonly type: "tuple";
        }];
        readonly name: "TimeoutConfigUpdated";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "treasury";
            readonly type: "address";
        }, {
            readonly indexed: true;
            readonly internalType: "contract IERC20";
            readonly name: "token";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "amount";
            readonly type: "uint256";
        }];
        readonly name: "TreasuryClaimed";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "treasury";
            readonly type: "address";
        }, {
            readonly indexed: true;
            readonly internalType: "contract IERC20";
            readonly name: "token";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "amount";
            readonly type: "uint256";
        }];
        readonly name: "TreasuryCredited";
        readonly type: "event";
    }, {
        readonly inputs: readonly [];
        readonly name: "MAX_COMMITTEE_SIZE";
        readonly outputs: readonly [{
            readonly internalType: "uint32";
            readonly name: "";
            readonly type: "uint32";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "MAX_DURATION_CAP";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "MAX_MARGIN_BPS";
        readonly outputs: readonly [{
            readonly internalType: "uint16";
            readonly name: "";
            readonly type: "uint16";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "MAX_PROTOCOL_SHARE_BPS";
        readonly outputs: readonly [{
            readonly internalType: "uint16";
            readonly name: "";
            readonly type: "uint16";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "MAX_TIMEOUT_WINDOW";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "acceptOwnership";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "bondingRegistry";
        readonly outputs: readonly [{
            readonly internalType: "contract IBondingRegistry";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }];
        readonly name: "checkFailureCondition";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "canFail";
            readonly type: "bool";
        }, {
            readonly internalType: "enum IInterfold.FailureReason";
            readonly name: "reason";
            readonly type: "uint8";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "ciphernodeRegistry";
        readonly outputs: readonly [{
            readonly internalType: "contract ICiphernodeRegistry";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }];
        readonly name: "claimReward";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "amount";
            readonly type: "uint256";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256[]";
            readonly name: "e3Ids";
            readonly type: "uint256[]";
        }];
        readonly name: "claimRewards";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "enum IInterfold.CommitteeSize";
            readonly name: "";
            readonly type: "uint8";
        }, {
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly name: "committeeThresholds";
        readonly outputs: readonly [{
            readonly internalType: "uint32";
            readonly name: "threshold";
            readonly type: "uint32";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "encryptionSchemeId";
            readonly type: "bytes32";
        }];
        readonly name: "decryptionVerifiers";
        readonly outputs: readonly [{
            readonly internalType: "contract IDecryptionVerifier";
            readonly name: "decryptionVerifier";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "contract IE3Program";
            readonly name: "e3Program";
            readonly type: "address";
        }];
        readonly name: "disableE3Program";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "encryptionSchemeId";
            readonly type: "bytes32";
        }];
        readonly name: "disableEncryptionScheme";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }];
        readonly name: "e3Payments";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "e3Payment";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "contract IE3Program";
            readonly name: "e3Program";
            readonly type: "address";
        }];
        readonly name: "e3Programs";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "allowed";
            readonly type: "bool";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "e3RefundManager";
        readonly outputs: readonly [{
            readonly internalType: "contract IE3RefundManager";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }];
        readonly name: "e3s";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "seed";
            readonly type: "uint256";
        }, {
            readonly internalType: "enum IInterfold.CommitteeSize";
            readonly name: "committeeSize";
            readonly type: "uint8";
        }, {
            readonly internalType: "uint256";
            readonly name: "requestBlock";
            readonly type: "uint256";
        }, {
            readonly internalType: "bytes32";
            readonly name: "encryptionSchemeId";
            readonly type: "bytes32";
        }, {
            readonly internalType: "contract IE3Program";
            readonly name: "e3Program";
            readonly type: "address";
        }, {
            readonly internalType: "uint8";
            readonly name: "paramSet";
            readonly type: "uint8";
        }, {
            readonly internalType: "bytes";
            readonly name: "customParams";
            readonly type: "bytes";
        }, {
            readonly internalType: "contract IDecryptionVerifier";
            readonly name: "decryptionVerifier";
            readonly type: "address";
        }, {
            readonly internalType: "contract IPkVerifier";
            readonly name: "pkVerifier";
            readonly type: "address";
        }, {
            readonly internalType: "bytes32";
            readonly name: "committeePublicKey";
            readonly type: "bytes32";
        }, {
            readonly internalType: "bytes32";
            readonly name: "ciphertextOutput";
            readonly type: "bytes32";
        }, {
            readonly internalType: "bytes";
            readonly name: "plaintextOutput";
            readonly type: "bytes";
        }, {
            readonly internalType: "address";
            readonly name: "requester";
            readonly type: "address";
        }, {
            readonly internalType: "bool";
            readonly name: "proofAggregationEnabled";
            readonly type: "bool";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "contract IE3Program";
            readonly name: "e3Program";
            readonly type: "address";
        }];
        readonly name: "enableE3Program";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "amount";
            readonly type: "uint256";
        }];
        readonly name: "escrowSlashedFunds";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "feeToken";
        readonly outputs: readonly [{
            readonly internalType: "contract IERC20";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }];
        readonly name: "getDeadlines";
        readonly outputs: readonly [{
            readonly components: readonly [{
                readonly internalType: "uint256";
                readonly name: "dkgDeadline";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "computeDeadline";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "decryptionDeadline";
                readonly type: "uint256";
            }];
            readonly internalType: "struct IInterfold.E3Deadlines";
            readonly name: "deadlines";
            readonly type: "tuple";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "encryptionSchemeId";
            readonly type: "bytes32";
        }];
        readonly name: "getDecryptionVerifier";
        readonly outputs: readonly [{
            readonly internalType: "contract IDecryptionVerifier";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }];
        readonly name: "getE3";
        readonly outputs: readonly [{
            readonly components: readonly [{
                readonly internalType: "uint256";
                readonly name: "seed";
                readonly type: "uint256";
            }, {
                readonly internalType: "enum IInterfold.CommitteeSize";
                readonly name: "committeeSize";
                readonly type: "uint8";
            }, {
                readonly internalType: "uint256";
                readonly name: "requestBlock";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256[2]";
                readonly name: "inputWindow";
                readonly type: "uint256[2]";
            }, {
                readonly internalType: "bytes32";
                readonly name: "encryptionSchemeId";
                readonly type: "bytes32";
            }, {
                readonly internalType: "contract IE3Program";
                readonly name: "e3Program";
                readonly type: "address";
            }, {
                readonly internalType: "uint8";
                readonly name: "paramSet";
                readonly type: "uint8";
            }, {
                readonly internalType: "bytes";
                readonly name: "customParams";
                readonly type: "bytes";
            }, {
                readonly internalType: "contract IDecryptionVerifier";
                readonly name: "decryptionVerifier";
                readonly type: "address";
            }, {
                readonly internalType: "contract IPkVerifier";
                readonly name: "pkVerifier";
                readonly type: "address";
            }, {
                readonly internalType: "bytes32";
                readonly name: "committeePublicKey";
                readonly type: "bytes32";
            }, {
                readonly internalType: "bytes32";
                readonly name: "ciphertextOutput";
                readonly type: "bytes32";
            }, {
                readonly internalType: "bytes";
                readonly name: "plaintextOutput";
                readonly type: "bytes";
            }, {
                readonly internalType: "address";
                readonly name: "requester";
                readonly type: "address";
            }, {
                readonly internalType: "bool";
                readonly name: "proofAggregationEnabled";
                readonly type: "bool";
            }];
            readonly internalType: "struct E3";
            readonly name: "e3";
            readonly type: "tuple";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly components: readonly [{
                readonly internalType: "enum IInterfold.CommitteeSize";
                readonly name: "committeeSize";
                readonly type: "uint8";
            }, {
                readonly internalType: "uint256[2]";
                readonly name: "inputWindow";
                readonly type: "uint256[2]";
            }, {
                readonly internalType: "contract IE3Program";
                readonly name: "e3Program";
                readonly type: "address";
            }, {
                readonly internalType: "uint8";
                readonly name: "paramSet";
                readonly type: "uint8";
            }, {
                readonly internalType: "bytes";
                readonly name: "computeProviderParams";
                readonly type: "bytes";
            }, {
                readonly internalType: "bytes";
                readonly name: "customParams";
                readonly type: "bytes";
            }, {
                readonly internalType: "bool";
                readonly name: "proofAggregationEnabled";
                readonly type: "bool";
            }];
            readonly internalType: "struct IInterfold.E3RequestParams";
            readonly name: "requestParams";
            readonly type: "tuple";
        }];
        readonly name: "getE3Quote";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "fee";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }];
        readonly name: "getE3Stage";
        readonly outputs: readonly [{
            readonly internalType: "enum IInterfold.E3Stage";
            readonly name: "stage";
            readonly type: "uint8";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }];
        readonly name: "getFailureReason";
        readonly outputs: readonly [{
            readonly internalType: "enum IInterfold.FailureReason";
            readonly name: "reason";
            readonly type: "uint8";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "encryptionSchemeId";
            readonly type: "bytes32";
        }];
        readonly name: "getPkVerifier";
        readonly outputs: readonly [{
            readonly internalType: "contract IPkVerifier";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "getPricingConfig";
        readonly outputs: readonly [{
            readonly components: readonly [{
                readonly internalType: "uint256";
                readonly name: "keyGenFixedPerNode";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "keyGenPerEncryptionProof";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "coordinationPerPair";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "availabilityPerNodePerSec";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "decryptionPerNode";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "publicationBase";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "verificationPerProof";
                readonly type: "uint256";
            }, {
                readonly internalType: "address";
                readonly name: "protocolTreasury";
                readonly type: "address";
            }, {
                readonly internalType: "uint16";
                readonly name: "marginBps";
                readonly type: "uint16";
            }, {
                readonly internalType: "uint16";
                readonly name: "protocolShareBps";
                readonly type: "uint16";
            }, {
                readonly internalType: "uint16";
                readonly name: "dkgUtilizationBps";
                readonly type: "uint16";
            }, {
                readonly internalType: "uint16";
                readonly name: "computeUtilizationBps";
                readonly type: "uint16";
            }, {
                readonly internalType: "uint16";
                readonly name: "decryptUtilizationBps";
                readonly type: "uint16";
            }, {
                readonly internalType: "uint32";
                readonly name: "minCommitteeSize";
                readonly type: "uint32";
            }, {
                readonly internalType: "uint32";
                readonly name: "minThreshold";
                readonly type: "uint32";
            }];
            readonly internalType: "struct IInterfold.PricingConfig";
            readonly name: "";
            readonly type: "tuple";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }];
        readonly name: "getRequester";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "requester";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "getTimeoutConfig";
        readonly outputs: readonly [{
            readonly components: readonly [{
                readonly internalType: "uint256";
                readonly name: "dkgWindow";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "computeWindow";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "decryptionWindow";
                readonly type: "uint256";
            }];
            readonly internalType: "struct IInterfold.E3TimeoutConfig";
            readonly name: "config";
            readonly type: "tuple";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "_owner";
            readonly type: "address";
        }, {
            readonly internalType: "contract ICiphernodeRegistry";
            readonly name: "_ciphernodeRegistry";
            readonly type: "address";
        }, {
            readonly internalType: "contract IBondingRegistry";
            readonly name: "_bondingRegistry";
            readonly type: "address";
        }, {
            readonly internalType: "contract IE3RefundManager";
            readonly name: "_e3RefundManager";
            readonly type: "address";
        }, {
            readonly internalType: "contract IERC20";
            readonly name: "_feeToken";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "_maxDuration";
            readonly type: "uint256";
        }, {
            readonly components: readonly [{
                readonly internalType: "uint256";
                readonly name: "dkgWindow";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "computeWindow";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "decryptionWindow";
                readonly type: "uint256";
            }];
            readonly internalType: "struct IInterfold.E3TimeoutConfig";
            readonly name: "config";
            readonly type: "tuple";
        }];
        readonly name: "initialize";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "contract IERC20";
            readonly name: "token";
            readonly type: "address";
        }];
        readonly name: "isFeeTokenAllowed";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }];
        readonly name: "markE3Failed";
        readonly outputs: readonly [{
            readonly internalType: "enum IInterfold.FailureReason";
            readonly name: "reason";
            readonly type: "uint8";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "markFailedGracePeriod";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "maxDuration";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "nexte3Id";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }];
        readonly name: "onCommitteeFinalized";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }, {
            readonly internalType: "bytes32";
            readonly name: "committeePublicKey";
            readonly type: "bytes32";
        }];
        readonly name: "onCommitteePublished";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint8";
            readonly name: "reason";
            readonly type: "uint8";
        }];
        readonly name: "onE3Failed";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "owner";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "";
            readonly type: "uint8";
        }];
        readonly name: "paramSetRegistry";
        readonly outputs: readonly [{
            readonly internalType: "bytes";
            readonly name: "";
            readonly type: "bytes";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "pendingOwner";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }, {
            readonly internalType: "address";
            readonly name: "account";
            readonly type: "address";
        }];
        readonly name: "pendingReward";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "treasury";
            readonly type: "address";
        }, {
            readonly internalType: "contract IERC20";
            readonly name: "token";
            readonly type: "address";
        }];
        readonly name: "pendingTreasuryClaim";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "encryptionSchemeId";
            readonly type: "bytes32";
        }];
        readonly name: "pkVerifiers";
        readonly outputs: readonly [{
            readonly internalType: "contract IPkVerifier";
            readonly name: "pkVerifier";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }];
        readonly name: "processE3Failure";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }, {
            readonly internalType: "bytes";
            readonly name: "ciphertextOutput";
            readonly type: "bytes";
        }, {
            readonly internalType: "bytes";
            readonly name: "proof";
            readonly type: "bytes";
        }];
        readonly name: "publishCiphertextOutput";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "success";
            readonly type: "bool";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }, {
            readonly internalType: "bytes";
            readonly name: "plaintextOutput";
            readonly type: "bytes";
        }, {
            readonly internalType: "bytes";
            readonly name: "proof";
            readonly type: "bytes";
        }];
        readonly name: "publishPlaintextOutput";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "success";
            readonly type: "bool";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "renounceOwnership";
        readonly outputs: readonly [];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly components: readonly [{
                readonly internalType: "enum IInterfold.CommitteeSize";
                readonly name: "committeeSize";
                readonly type: "uint8";
            }, {
                readonly internalType: "uint256[2]";
                readonly name: "inputWindow";
                readonly type: "uint256[2]";
            }, {
                readonly internalType: "contract IE3Program";
                readonly name: "e3Program";
                readonly type: "address";
            }, {
                readonly internalType: "uint8";
                readonly name: "paramSet";
                readonly type: "uint8";
            }, {
                readonly internalType: "bytes";
                readonly name: "computeProviderParams";
                readonly type: "bytes";
            }, {
                readonly internalType: "bytes";
                readonly name: "customParams";
                readonly type: "bytes";
            }, {
                readonly internalType: "bool";
                readonly name: "proofAggregationEnabled";
                readonly type: "bool";
            }];
            readonly internalType: "struct IInterfold.E3RequestParams";
            readonly name: "requestParams";
            readonly type: "tuple";
        }];
        readonly name: "request";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }, {
            readonly components: readonly [{
                readonly internalType: "uint256";
                readonly name: "seed";
                readonly type: "uint256";
            }, {
                readonly internalType: "enum IInterfold.CommitteeSize";
                readonly name: "committeeSize";
                readonly type: "uint8";
            }, {
                readonly internalType: "uint256";
                readonly name: "requestBlock";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256[2]";
                readonly name: "inputWindow";
                readonly type: "uint256[2]";
            }, {
                readonly internalType: "bytes32";
                readonly name: "encryptionSchemeId";
                readonly type: "bytes32";
            }, {
                readonly internalType: "contract IE3Program";
                readonly name: "e3Program";
                readonly type: "address";
            }, {
                readonly internalType: "uint8";
                readonly name: "paramSet";
                readonly type: "uint8";
            }, {
                readonly internalType: "bytes";
                readonly name: "customParams";
                readonly type: "bytes";
            }, {
                readonly internalType: "contract IDecryptionVerifier";
                readonly name: "decryptionVerifier";
                readonly type: "address";
            }, {
                readonly internalType: "contract IPkVerifier";
                readonly name: "pkVerifier";
                readonly type: "address";
            }, {
                readonly internalType: "bytes32";
                readonly name: "committeePublicKey";
                readonly type: "bytes32";
            }, {
                readonly internalType: "bytes32";
                readonly name: "ciphertextOutput";
                readonly type: "bytes32";
            }, {
                readonly internalType: "bytes";
                readonly name: "plaintextOutput";
                readonly type: "bytes";
            }, {
                readonly internalType: "address";
                readonly name: "requester";
                readonly type: "address";
            }, {
                readonly internalType: "bool";
                readonly name: "proofAggregationEnabled";
                readonly type: "bool";
            }];
            readonly internalType: "struct E3";
            readonly name: "e3";
            readonly type: "tuple";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "contract IBondingRegistry";
            readonly name: "_bondingRegistry";
            readonly type: "address";
        }];
        readonly name: "setBondingRegistry";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "contract ICiphernodeRegistry";
            readonly name: "_ciphernodeRegistry";
            readonly type: "address";
        }];
        readonly name: "setCiphernodeRegistry";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "enum IInterfold.CommitteeSize";
            readonly name: "size";
            readonly type: "uint8";
        }, {
            readonly internalType: "uint32[2]";
            readonly name: "threshold";
            readonly type: "uint32[2]";
        }];
        readonly name: "setCommitteeThresholds";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "encryptionSchemeId";
            readonly type: "bytes32";
        }, {
            readonly internalType: "contract IDecryptionVerifier";
            readonly name: "decryptionVerifier";
            readonly type: "address";
        }];
        readonly name: "setDecryptionVerifier";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "contract IE3RefundManager";
            readonly name: "_e3RefundManager";
            readonly type: "address";
        }];
        readonly name: "setE3RefundManager";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "contract IERC20";
            readonly name: "_feeToken";
            readonly type: "address";
        }];
        readonly name: "setFeeToken";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "contract IERC20";
            readonly name: "token";
            readonly type: "address";
        }, {
            readonly internalType: "bool";
            readonly name: "allowed";
            readonly type: "bool";
        }];
        readonly name: "setFeeTokenAllowed";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "gracePeriod";
            readonly type: "uint256";
        }];
        readonly name: "setMarkFailedGracePeriod";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "_maxDuration";
            readonly type: "uint256";
        }];
        readonly name: "setMaxDuration";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "paramSet";
            readonly type: "uint8";
        }, {
            readonly internalType: "bytes";
            readonly name: "encodedParams";
            readonly type: "bytes";
        }];
        readonly name: "setParamSet";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes32";
            readonly name: "encryptionSchemeId";
            readonly type: "bytes32";
        }, {
            readonly internalType: "contract IPkVerifier";
            readonly name: "pkVerifier";
            readonly type: "address";
        }];
        readonly name: "setPkVerifier";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly components: readonly [{
                readonly internalType: "uint256";
                readonly name: "keyGenFixedPerNode";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "keyGenPerEncryptionProof";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "coordinationPerPair";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "availabilityPerNodePerSec";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "decryptionPerNode";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "publicationBase";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "verificationPerProof";
                readonly type: "uint256";
            }, {
                readonly internalType: "address";
                readonly name: "protocolTreasury";
                readonly type: "address";
            }, {
                readonly internalType: "uint16";
                readonly name: "marginBps";
                readonly type: "uint16";
            }, {
                readonly internalType: "uint16";
                readonly name: "protocolShareBps";
                readonly type: "uint16";
            }, {
                readonly internalType: "uint16";
                readonly name: "dkgUtilizationBps";
                readonly type: "uint16";
            }, {
                readonly internalType: "uint16";
                readonly name: "computeUtilizationBps";
                readonly type: "uint16";
            }, {
                readonly internalType: "uint16";
                readonly name: "decryptUtilizationBps";
                readonly type: "uint16";
            }, {
                readonly internalType: "uint32";
                readonly name: "minCommitteeSize";
                readonly type: "uint32";
            }, {
                readonly internalType: "uint32";
                readonly name: "minThreshold";
                readonly type: "uint32";
            }];
            readonly internalType: "struct IInterfold.PricingConfig";
            readonly name: "config";
            readonly type: "tuple";
        }];
        readonly name: "setPricingConfig";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "contract ISlashingManager";
            readonly name: "_slashingManager";
            readonly type: "address";
        }];
        readonly name: "setSlashingManager";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly components: readonly [{
                readonly internalType: "uint256";
                readonly name: "dkgWindow";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "computeWindow";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "decryptionWindow";
                readonly type: "uint256";
            }];
            readonly internalType: "struct IInterfold.E3TimeoutConfig";
            readonly name: "config";
            readonly type: "tuple";
        }];
        readonly name: "setTimeoutConfig";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "slashingManager";
        readonly outputs: readonly [{
            readonly internalType: "contract ISlashingManager";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "bytes4";
            readonly name: "interfaceId";
            readonly type: "bytes4";
        }];
        readonly name: "supportsInterface";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly stateMutability: "pure";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "newOwner";
            readonly type: "address";
        }];
        readonly name: "transferOwnership";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "contract IERC20";
            readonly name: "token";
            readonly type: "address";
        }];
        readonly name: "treasuryClaim";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "amount";
            readonly type: "uint256";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }];
    static createInterface(): InterfoldInterface;
    attach(address: string | Addressable): Interfold;
    static connect(address: string, runner?: ContractRunner | null): Interfold;
}
export interface InterfoldLibraryAddresses {
    ["project/contracts/lib/InterfoldPricing.sol:InterfoldPricing"]: string;
}
export {};
//# sourceMappingURL=Interfold__factory.d.ts.map