import * as fs from "fs"; import * as crypto from "crypto"; import type { VoteMethod } from "./vote.js"; export interface VoteFileFormat { candidates: string[]; allowedVoters: string[]; method: VoteMethod; publicKey: string; encryptedPrivateKey: string; shares: string[]; subject?: string; headerInstructions?: string; footerInstructions?: string; checksum?: string; canShuffleCandidates?: boolean; keepOnlyFirstLineInSummary?: boolean; requireSignedBallots?: boolean; } export interface BallotFileFormat { preferences: { title: string; score: number; }[]; author: string; poolChecksum: string; } export interface UserCredentials { username: string; emailAddress: string; } export declare function parseYml(document: string): T; export declare function loadYmlString(document: string, encoding?: crypto.Encoding, documentBuffer?: crypto.BinaryLike): T; export declare function loadYmlFile(filePath: fs.PathOrFileDescriptor): T; export declare function templateBallot(voteConfig: VoteFileFormat, user?: UserCredentials, scores?: Map): string;