import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../../common"; export declare namespace DKGTypes { type PointStruct = { x: BigNumberish; y: BigNumberish; }; type PointStructOutput = [x: bigint, y: bigint] & { x: bigint; y: bigint; }; type AppPolicyStruct = { mode: BigNumberish; openSubmission: boolean; submitters: AddressLike[]; maxCiphertexts: BigNumberish; notBeforeBlock: BigNumberish; notAfterBlock: BigNumberish; decryptNotBefore: BigNumberish; decryptNotAfter: BigNumberish; }; type AppPolicyStructOutput = [ mode: bigint, openSubmission: boolean, submitters: string[], maxCiphertexts: bigint, notBeforeBlock: bigint, notAfterBlock: bigint, decryptNotBefore: bigint, decryptNotAfter: bigint ] & { mode: bigint; openSubmission: boolean; submitters: string[]; maxCiphertexts: bigint; notBeforeBlock: bigint; notAfterBlock: bigint; decryptNotBefore: bigint; decryptNotAfter: bigint; }; type ApplicationStruct = { creator: AddressLike; organizerPK: DKGTypes.PointStruct; organizerSecret: BigNumberish; poolIndex: BigNumberish; policy: DKGTypes.AppPolicyStruct; createdAtBlock: BigNumberish; exists: boolean; }; type ApplicationStructOutput = [ creator: string, organizerPK: DKGTypes.PointStructOutput, organizerSecret: bigint, poolIndex: bigint, policy: DKGTypes.AppPolicyStructOutput, createdAtBlock: bigint, exists: boolean ] & { creator: string; organizerPK: DKGTypes.PointStructOutput; organizerSecret: bigint; poolIndex: bigint; policy: DKGTypes.AppPolicyStructOutput; createdAtBlock: bigint; exists: boolean; }; } export interface IDKGAppManagerInterface extends Interface { getFunction(nameOrSignature: "getApplication" | "getApplicationKey" | "getOrganizerPK" | "registerApplication" | "revealOrganizerSecret"): FunctionFragment; encodeFunctionData(functionFragment: "getApplication", values: [BytesLike, BytesLike]): string; encodeFunctionData(functionFragment: "getApplicationKey", values: [BytesLike, BytesLike]): string; encodeFunctionData(functionFragment: "getOrganizerPK", values: [BytesLike, BytesLike]): string; encodeFunctionData(functionFragment: "registerApplication", values: [ BytesLike, BytesLike, DKGTypes.AppPolicyStruct, BigNumberish, BigNumberish, BigNumberish, BigNumberish, BigNumberish ]): string; encodeFunctionData(functionFragment: "revealOrganizerSecret", values: [BytesLike, BytesLike, BigNumberish]): string; decodeFunctionResult(functionFragment: "getApplication", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getApplicationKey", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getOrganizerPK", data: BytesLike): Result; decodeFunctionResult(functionFragment: "registerApplication", data: BytesLike): Result; decodeFunctionResult(functionFragment: "revealOrganizerSecret", data: BytesLike): Result; } export interface IDKGAppManager extends BaseContract { connect(runner?: ContractRunner | null): IDKGAppManager; waitForDeployment(): Promise; interface: IDKGAppManagerInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; getApplication: TypedContractMethod<[ epochId: BytesLike, aid: BytesLike ], [ DKGTypes.ApplicationStructOutput ], "view">; getApplicationKey: TypedContractMethod<[ epochId: BytesLike, aid: BytesLike ], [ [bigint, bigint] & { x: bigint; y: bigint; } ], "view">; getOrganizerPK: TypedContractMethod<[ epochId: BytesLike, aid: BytesLike ], [ [bigint, bigint] ], "view">; registerApplication: TypedContractMethod<[ epochId: BytesLike, aid: BytesLike, policy: DKGTypes.AppPolicyStruct, pkOrgX: BigNumberish, pkOrgY: BigNumberish, schnorrAx: BigNumberish, schnorrAy: BigNumberish, schnorrZ: BigNumberish ], [ void ], "nonpayable">; revealOrganizerSecret: TypedContractMethod<[ epochId: BytesLike, aid: BytesLike, organizerSecret: BigNumberish ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "getApplication"): TypedContractMethod<[ epochId: BytesLike, aid: BytesLike ], [ DKGTypes.ApplicationStructOutput ], "view">; getFunction(nameOrSignature: "getApplicationKey"): TypedContractMethod<[ epochId: BytesLike, aid: BytesLike ], [ [bigint, bigint] & { x: bigint; y: bigint; } ], "view">; getFunction(nameOrSignature: "getOrganizerPK"): TypedContractMethod<[ epochId: BytesLike, aid: BytesLike ], [ [bigint, bigint] ], "view">; getFunction(nameOrSignature: "registerApplication"): TypedContractMethod<[ epochId: BytesLike, aid: BytesLike, policy: DKGTypes.AppPolicyStruct, pkOrgX: BigNumberish, pkOrgY: BigNumberish, schnorrAx: BigNumberish, schnorrAy: BigNumberish, schnorrZ: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "revealOrganizerSecret"): TypedContractMethod<[ epochId: BytesLike, aid: BytesLike, organizerSecret: BigNumberish ], [ void ], "nonpayable">; filters: {}; }