import { NostrEvent } from "nostr-tools";
export declare const POLL_KIND = 1068;
export declare const POLL_RESPONSE_KIND = 1018;
export declare const PollOptionsSymbol: unique symbol;
export interface PollOption {
    id: string;
    label: string;
}
export type PollType = "singlechoice" | "multiplechoice";
/**
 * Get the poll question/label from a poll event
 * Returns the content field which contains the poll question
 */
export declare function getPollQuestion(event: NostrEvent): string;
/**
 * Get the poll options from a poll event
 * Returns array of options with id and label
 */
export declare function getPollOptions(event: NostrEvent): PollOption[];
/**
 * Get the relays specified for poll responses (from 'relay' tags)
 * Returns undefined if no relays are specified
 */
export declare function getPollRelays(event: NostrEvent): string[];
/**
 * Get the poll type from a poll event (from 'polltype' tag)
 * Returns "singlechoice" or "multiplechoice", defaults to "singlechoice"
 */
export declare function getPollType(event: NostrEvent): PollType;
/**
 * Get the poll expiration timestamp (from 'endsAt' tag)
 * Returns undefined if no expiration is set
 */
export declare function getPollEndsAt(event: NostrEvent): number | undefined;
/**
 * Get the poll ID that a response is referencing (from 'e' tag)
 * Returns undefined if no poll reference is found
 */
export declare function getPollResponsePollId(event: NostrEvent): string | undefined;
/** Get the selected option IDs from a poll response event (from 'response' tags) */
export declare function getPollResponseOptions(event: NostrEvent): string[];
/**
 * Gets the options that a user has voted for in a poll event
 * Returns undefined if the response is not valid
 */
export declare function getPollResponseVotes(poll: NostrEvent, response: NostrEvent): string[] | undefined;
