summaryrefslogtreecommitdiff
path: root/includes/external/matrix/node_modules/matrix-events-sdk/lib/events/PollStartEvent.d.ts
blob: 2e85560243dcc73222769a49b467f35f887ba12d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
import { KNOWN_POLL_KIND, M_POLL_START_EVENT_CONTENT, POLL_ANSWER } from "./poll_types";
import { IPartialEvent } from "../IPartialEvent";
import { MessageEvent } from "./MessageEvent";
import { EventType } from "../utility/events";
import { ExtensibleEvent } from "./ExtensibleEvent";
/**
 * Represents a poll answer. Note that this is represented as a subtype and is
 * not registered as a parsable event - it is implied for usage exclusively
 * within the PollStartEvent parsing.
 */
export declare class PollAnswerSubevent extends MessageEvent {
    /**
     * The answer ID.
     */
    readonly id: string;
    constructor(wireFormat: IPartialEvent<POLL_ANSWER>);
    serialize(): IPartialEvent<object>;
    /**
     * Creates a new PollAnswerSubevent from ID and text.
     * @param {string} id The answer ID (unique within the poll).
     * @param {string} text The text.
     * @returns {PollAnswerSubevent} The representative answer.
     */
    static from(id: string, text: string): PollAnswerSubevent;
}
/**
 * Represents a poll start event.
 */
export declare class PollStartEvent extends ExtensibleEvent<M_POLL_START_EVENT_CONTENT> {
    /**
     * The question being asked, as a MessageEvent node.
     */
    readonly question: MessageEvent;
    /**
     * The interpreted kind of poll. Note that this will infer a value that is known to the
     * SDK rather than verbatim - this means unknown types will be represented as undisclosed
     * polls.
     *
     * To get the raw kind, use rawKind.
     */
    readonly kind: KNOWN_POLL_KIND;
    /**
     * The true kind as provided by the event sender. Might not be valid.
     */
    readonly rawKind: string;
    /**
     * The maximum number of selections a user is allowed to make.
     */
    readonly maxSelections: number;
    /**
     * The possible answers for the poll.
     */
    readonly answers: PollAnswerSubevent[];
    /**
     * Creates a new PollStartEvent from a pure format. Note that the event is *not*
     * parsed here: it will be treated as a literal m.poll.start primary typed event.
     * @param {IPartialEvent<M_POLL_START_EVENT_CONTENT>} wireFormat The event.
     */
    constructor(wireFormat: IPartialEvent<M_POLL_START_EVENT_CONTENT>);
    isEquivalentTo(primaryEventType: EventType): boolean;
    serialize(): IPartialEvent<object>;
    /**
     * Creates a new PollStartEvent from question, answers, and metadata.
     * @param {string} question The question to ask.
     * @param {string} answers The answers. Should be unique within each other.
     * @param {KNOWN_POLL_KIND|string} kind The kind of poll.
     * @param {number} maxSelections The maximum number of selections. Must be 1 or higher.
     * @returns {PollStartEvent} The representative poll start event.
     */
    static from(question: string, answers: string[], kind: KNOWN_POLL_KIND | string, maxSelections?: number): PollStartEvent;
}