import type { StreamChat } from './client';
import type { CreatePollData, LocalMessage, MessageResponse, PollSort, QueryPollsFilters, QueryPollsOptions } from './types';
import { Poll } from './poll';
import { WithSubscriptions } from './utils/WithSubscriptions';
export declare class PollManager extends WithSubscriptions {
    private client;
    private pollCache;
    constructor({ client }: {
        client: StreamChat;
    });
    get data(): Map<string, Poll>;
    fromState: (id: string) => Poll | undefined;
    registerSubscriptions: () => void;
    createPoll: (poll: CreatePollData) => Promise<Poll | undefined>;
    getPoll: (id: string) => Promise<Poll | undefined>;
    queryPolls: (filter: QueryPollsFilters, sort?: PollSort, options?: QueryPollsOptions) => Promise<{
        polls: (Poll | undefined)[];
        next: string | undefined;
    }>;
    hydratePollCache: (messages: LocalMessage[] | MessageResponse[], overwriteState?: boolean) => void;
    private setOrOverwriteInCache;
    private subscribePollUpdated;
    private subscribePollClosed;
    private subscribeVoteCasted;
    private subscribeVoteChanged;
    private subscribeVoteRemoved;
    private subscribeMessageNew;
}
