import type { HardhatRuntimeEnvironment } from "hardhat/types/hre"; import { Enclave } from "../../types"; /** * Timeout configuration for E3 stages */ export interface E3TimeoutConfig { dkgWindow: number; computeWindow: number; decryptionWindow: number; } /** * The arguments for the deployAndSaveEnclave function */ export interface EnclaveArgs { owner?: string; maxDuration?: string; registry?: string; bondingRegistry?: string; e3RefundManager?: string; feeToken?: string; timeoutConfig?: E3TimeoutConfig; hre: HardhatRuntimeEnvironment; } /** * Deploys the Enclave contract and saves the deployment arguments * @param param0 - The deployment arguments * @returns The deployed Enclave contract */ export declare const deployAndSaveEnclave: ({ owner, maxDuration, registry, bondingRegistry, e3RefundManager, feeToken, timeoutConfig, hre, }: EnclaveArgs) => Promise<{ enclave: Enclave; }>; /** * Upgrades the Enclave implementation while keeping the same proxy address * @param param0 - The upgrade arguments * @returns The upgraded Enclave contract (same proxy address) */ export declare const upgradeAndSaveEnclave: ({ ownerAddress, hre, }: { ownerAddress: string; hre: HardhatRuntimeEnvironment; }) => Promise<{ enclave: Enclave; implementationAddress: string; }>; //# sourceMappingURL=enclave.d.ts.map