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 { InterfoldPricing, InterfoldPricingInterface } from "../../../contracts/lib/InterfoldPricing.js";
type InterfoldPricingConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
export declare class InterfoldPricing__factory extends ContractFactory {
    constructor(...args: InterfoldPricingConstructorParams);
    getDeployTransaction(overrides?: NonPayableOverrides & {
        from?: string;
    }): Promise<ContractDeployTransaction>;
    deploy(overrides?: NonPayableOverrides & {
        from?: string;
    }): Promise<InterfoldPricing & {
        deploymentTransaction(): ContractTransactionResponse;
    }>;
    connect(runner: ContractRunner | null): InterfoldPricing__factory;
    static readonly bytecode = " ";
    static readonly abi: readonly [{
        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 internalType: "uint256";
            readonly name: "expiration";
            readonly type: "uint256";
        }];
        readonly name: "CommitteeDutiesCompleted";
        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 internalType: "uint256";
            readonly name: "inputDeadline";
            readonly type: "uint256";
        }];
        readonly name: "InputDeadlineNotReached";
        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: "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: "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 name: "MinSizeBelowMinThreshold";
        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: "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 inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "cnAmount";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "n";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }];
        readonly name: "computeNodeAmounts";
        readonly outputs: readonly [{
            readonly internalType: "uint256[]";
            readonly name: "amounts";
            readonly type: "uint256[]";
        }];
        readonly stateMutability: "pure";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "defaultPricingConfig";
        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: "cfg";
            readonly type: "tuple";
        }];
        readonly stateMutability: "pure";
        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: "pc";
            readonly type: "tuple";
        }, {
            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: "tc";
            readonly type: "tuple";
        }, {
            readonly internalType: "uint256";
            readonly name: "sortitionWindow";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint32[2]";
            readonly name: "threshold";
            readonly type: "uint32[2]";
        }, {
            readonly internalType: "uint256";
            readonly name: "inputWindowStart";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "inputWindowEnd";
            readonly type: "uint256";
        }];
        readonly name: "quote";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "fee";
            readonly type: "uint256";
        }];
        readonly stateMutability: "pure";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint32[2]";
            readonly name: "threshold";
            readonly type: "uint32[2]";
        }, {
            readonly internalType: "uint32";
            readonly name: "minCommitteeSize";
            readonly type: "uint32";
        }, {
            readonly internalType: "uint32";
            readonly name: "minThreshold";
            readonly type: "uint32";
        }];
        readonly name: "validateCommitteeThresholds";
        readonly outputs: readonly [];
        readonly stateMutability: "pure";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint8";
            readonly name: "current";
            readonly type: "uint8";
        }];
        readonly name: "validateMarkFailedStage";
        readonly outputs: readonly [];
        readonly stateMutability: "pure";
        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: "validatePricingConfig";
        readonly outputs: readonly [];
        readonly stateMutability: "pure";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "e3Id";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint8";
            readonly name: "current";
            readonly type: "uint8";
        }, {
            readonly internalType: "uint256";
            readonly name: "computeDeadline";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "inputWindowEnd";
            readonly type: "uint256";
        }, {
            readonly internalType: "bytes32";
            readonly name: "ciphertextOutput";
            readonly type: "bytes32";
        }, {
            readonly internalType: "uint256";
            readonly name: "nowTs";
            readonly type: "uint256";
        }];
        readonly name: "validatePublishCiphertext";
        readonly outputs: readonly [];
        readonly stateMutability: "pure";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint32[2]";
            readonly name: "threshold";
            readonly type: "uint32[2]";
        }, {
            readonly internalType: "uint8";
            readonly name: "committeeSize";
            readonly type: "uint8";
        }, {
            readonly internalType: "uint32";
            readonly name: "minCommitteeSize";
            readonly type: "uint32";
        }, {
            readonly internalType: "uint32";
            readonly name: "minThreshold";
            readonly type: "uint32";
        }];
        readonly name: "validateQuoteThresholds";
        readonly outputs: readonly [];
        readonly stateMutability: "pure";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256[2]";
            readonly name: "inputWindow";
            readonly type: "uint256[2]";
        }, {
            readonly internalType: "uint256";
            readonly name: "nowTs";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "computeWindow";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "decryptionWindow";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "maxDuration";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "quotedFee";
            readonly type: "uint256";
        }];
        readonly name: "validateRequest";
        readonly outputs: readonly [];
        readonly stateMutability: "pure";
        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 internalType: "uint256";
            readonly name: "maxTimeoutWindow";
            readonly type: "uint256";
        }];
        readonly name: "validateTimeoutConfig";
        readonly outputs: readonly [];
        readonly stateMutability: "pure";
        readonly type: "function";
    }];
    static createInterface(): InterfoldPricingInterface;
    attach(address: string | Addressable): InterfoldPricing;
    static connect(address: string, runner?: ContractRunner | null): InterfoldPricing;
}
export {};
//# sourceMappingURL=InterfoldPricing__factory.d.ts.map