#!/usr/bin/env node import type { VoteMethod } from "./vote.js"; interface Options { askForConfirmation?: (ballotContent: string) => boolean | Promise; subject: string; headerInstructions?: string; candidates: string[]; canShuffleCandidates?: boolean; footerInstructions?: string; /** Defaults to "Condorcet" */ method?: VoteMethod; /** Use whatever string is accepted by gpg for its --recipient flag. */ shareholders: string[]; shareholdersThreshold: number; /** It should match the git commit author. */ allowedVoters?: string[]; /** * If gitOptions is supplied, it's the subpath relative to the root og the git * repository. If no git options is supplied, it's a path in the local FS * where to create the vote folder. */ path: string; gpgOptions: { binaryPath?: string; keyServerURL?: string; /** Consider using `always` to blindly trust the key server. */ trustModel: string; }; gitOptions?: { binaryPath?: string; doNotCleanTempFiles?: boolean; /** URL to the git repository. It can be anything accepted by git clone. */ repo: string; /** Branch where the vote commit(s) will be pushed */ branch: string; /** Name of the base branch (e.g. `main`) */ baseBranch: string; forceClone?: boolean; commitMessage?: string; commitAuthor?: string; gpgSign?: boolean | string; pushToRemote?: boolean; }; } export default function generateNewVoteFolder(options: Options): Promise; export {};