import { BroadcastedPoll } from "./poll";
import { Observable } from "rxjs";
interface IResults {
    totalVotes: number;
    options: Array<{
        text: string;
        votes: number;
        weighted: number;
        percentage: number;
    }>;
}
interface IVote {
    address: string;
    block: number;
    validity: string;
    multisig: boolean;
    option: string;
    importance: number;
}
/**
 * VOTING FUNCTIONS
 */
/**
 * getWhitelistResults(poll) returns the result object for the poll
 *
 * @param {BroadcastedPoll} poll - broadcasted poll
 *
 * @return {promise} - A promise that returns the result object of the poll
 */
declare const getWhitelistResultsPromise: (poll: BroadcastedPoll) => Promise<IResults>;
declare const getWhitelistResults: (poll: BroadcastedPoll) => Observable<IResults>;
/**
 * getPOIResults(poll) returns the result object for the poll
 *
 * @param {BroadcastedPoll} poll - broadcasted poll
 *
 * @return {promise} - A promise that returns the result object of the poll
 */
declare const getPOIResultsPromise: (poll: BroadcastedPoll) => Promise<IResults>;
declare const getPOIResults: (poll: BroadcastedPoll) => Observable<IResults>;
declare const getPOIResultsCsv: (poll: BroadcastedPoll) => Observable<string>;
declare const getPOIResultsArray: (poll: BroadcastedPoll) => Observable<IVote[]>;
export { IResults, IVote, getWhitelistResultsPromise, getWhitelistResults, getPOIResultsPromise, getPOIResults, getPOIResultsCsv, getPOIResultsArray };
