import { Answers } from "prompts"; import { Firestore } from "firebase/firestore"; import { CeremonyInputData, FirebaseDocumentInfo, CircomCompilerData, CircuitInputData, CeremonyTimeoutType, DiskTypeForVM } from "@p0tion/actions"; /** * Ask a binary (yes/no or true/false) customizable question. * @param question - the question to be answered. * @param active - the active option (default yes). * @param inactive - the inactive option (default no). * @returns >> */ export declare const askForConfirmation: (question: string, active?: string, inactive?: string) => Promise>; /** * Prompt a series of questios to gather input data for the ceremony setup. * @param firestore - the instance of the Firestore database. * @returns > - the necessary information for the ceremony provided by the coordinator. */ export declare const promptCeremonyInputData: (firestore: Firestore) => Promise; /** * Prompt a series of questios to gather input about the Circom compiler. * @returns > - the necessary information for the Circom compiler used for the circuits. */ export declare const promptCircomCompiler: () => Promise; /** * Shows a list of circuits for a single option selection. * @dev the circuit names are derived from local R1CS files. * @param options > - an array of circuits names. * @returns Promise - the name of the chosen circuit. */ export declare const promptCircuitSelector: (options: Array) => Promise; /** * Shows a list of standard EC2 VM instance types for a single option selection. * @notice the suggested VM configuration type is calculated based on circuit constraint size. * @param constraintSize - the amount of circuit constraints * @returns Promise - the name of the chosen VM type. */ export declare const promptVMTypeSelector: (constraintSize: any) => Promise; /** * Shows a list of disk types for selected VM. * @returns Promise - the selected disk type. */ export declare const promptVMDiskTypeSelector: () => Promise; /** * Show a series of questions about the circuits. * @param constraintSize - the amount of circuit constraints. * @param timeoutMechanismType - the chosen timeout mechanism type for the ceremony. * @param needPromptCircomCompiler - a boolean value indicating if the questions related to the Circom compiler version and commit hash must be asked. * @param enforceVM - a boolean value indicating if the contribution verification could be supported by VM-only approach or not. * @returns Promise> - circuit info prompted by the coordinator. */ export declare const promptCircuitInputData: (constraintSize: number, timeoutMechanismType: CeremonyTimeoutType, sameCircomCompiler: boolean, enforceVM: boolean) => Promise; /** * Prompt for asking if the same circom compiler version has been used for all circuits of the ceremony. * @returns > */ export declare const promptSameCircomCompiler: () => Promise; /** * Prompt for asking if the coordinator wanna use a pre-computed zKey for the given circuit. * @returns > */ export declare const promptPreComputedZkey: () => Promise; /** * Prompt for asking if the coordinator wants to add a new circuit to the ceremony. * @returns > */ export declare const promptCircuitAddition: () => Promise; /** * Shows a list of pre-computed zKeys for a single option selection. * @dev the names are derived from local zKeys files. * @param options > - an array of pre-computed zKeys names. * @returns Promise - the name of the chosen pre-computed zKey. */ export declare const promptPreComputedZkeySelector: (options: Array) => Promise; /** * Prompt asking to the coordinator to choose the desired PoT file for the zKey for the circuit. * @param suggestedSmallestNeededPowers - the minimal number of powers necessary for circuit zKey generation. * @returns Promise - the selected amount of powers. */ export declare const promptNeededPowersForCircuit: (suggestedSmallestNeededPowers: number) => Promise; /** * Shows a list of PoT files for a single option selection. * @dev the names are derived from local PoT files. * @param options > - an array of PoT file names. * @returns Promise - the name of the chosen PoT. */ export declare const promptPotSelector: (options: Array) => Promise; /** * Prompt for asking about ceremony selection. * @dev this method is used to show a list of ceremonies to be selected for both the computation of a contribution and the finalization of a ceremony. * @param ceremoniesDocuments > - the list of ceremonies Firestore documents. * @param isFinalizing - true when the coordinator must select a ceremony for finalization; otherwise false (participant selects a ceremony for contribution). * @returns Promise - the Firestore document of the selected ceremony. */ export declare const promptForCeremonySelection: (ceremoniesDocuments: Array, isFinalizing: boolean, messageToDisplay?: string) => Promise; /** * Prompt the participant to type the entropy or the coordinator to type the beacon. * @param isEntropy - true when prompting for typing entropy; otherwise false. * @returns > - the entropy or beacon value. */ export declare const promptToTypeEntropyOrBeacon: (isEntropy?: boolean) => Promise; /** * Prompt for entropy generation or insertion. * @return > - the entropy. */ export declare const promptForEntropy: () => Promise;