import { VoteId, VoterId, VotingId, Callbacks, VotingData, CandidateStatsElection, CandidateStatsJudgment, VotingType, CandidateStats, PersistResponse, RetrieveResponse, VoteData, VotesStats, UserId, VoterData, VoterActive, Helpers, VoteChoice, VoteChoiceCandidateBased, CandidateVotingData, OptionVotingData, VotingParams, CandidateBasedVotingParams, Options } from './types'; export declare const DURATION: Readonly<{ second: number; minute: number; hour: number; day: number; week: number; }>; export declare const DEFAULT_CANDIDATE_STATS_ELECTION: CandidateStatsElection; export declare const DEFAULT_CANDIDATE_STATS_JUDGMENT: CandidateStatsJudgment; export declare const DEFAULT_MIN_VOTING_DURATION: number; export declare const DEFAULT_MAX_VOTING_DURATION: number; export declare const DEFAULT_MIN_CANDIDATES_ELECTION = 2; export declare const DEFAULT_CAN_VOTER_VOTE_FOR_HIMSELF = false; export declare const DEFAULT_CAN_CANDIDATE_START_VOTING = false; export declare const DEFAULT_CALLBACKS: Callbacks; export declare const DEFAULT_HELPERS: Helpers; export declare const OPTIONS: Options; export declare function isCandidateBasedVotingType(votingType: VotingType): boolean; export declare function isOptionBasedVotingType(votingType: VotingType): boolean; export declare function isCandidateBasedVoting(voting: VotingData): voting is CandidateVotingData; export declare function isOptionBasedVoting(voting: VotingData): voting is OptionVotingData; export declare function isCandidateBasedVotingParams(votingParams: VotingParams): votingParams is CandidateBasedVotingParams; export declare function isCandidateBasedVoteChoice(voteChoice: VoteChoice): voteChoice is VoteChoiceCandidateBased; export declare function isCandidateStatsElection(stats: VotesStats): stats is CandidateStatsElection; export declare function isCandidateStatsJudgment(stats: VotesStats): stats is CandidateStatsJudgment; export declare function isOptionStats(stats: VotesStats): boolean; export declare function persistVoting(voting: VotingData): Promise; export declare function persistVoters(voters: VoterData[]): Promise; export declare function persistVote(vote: VoteData): Promise; export declare function retrieveVoting(votingId: VotingId): Promise>; export declare function retrieveVoter(userId: UserId): Promise>; export declare function retrieveVotes(votingId: VotingId): Promise>; export declare function checkActiveVoters(votersIds: VoterId[]): Promise; export declare function countActiveVoters(): Promise; export declare function hasVoted(voterId: VoterId, votingId: VotingId): Promise; export declare function setCallbacks(newCallbacks: Partial): void; export declare function checkCallbacks(): Promise<{ [functionName: string]: boolean; }>; export declare function setHelpers(newHelpers: Partial): void; export declare function generateVotingId(): VotingId; export declare function generateVoterId(): VoterId; export declare function generateVoteId(): VoteId; export declare function getDefaultStats(votingType: VotingType): CandidateStats; export declare function hasVotingEnded(voting: VotingData): boolean;