import { MatrixEvent } from "matrix-js-sdk/src/matrix";
/**
 * Voice broadcast chunk collection.
 * Orders chunks by sequence (if available) or timestamp.
 */
export declare class VoiceBroadcastChunkEvents {
    private events;
    getEvents(): MatrixEvent[];
    getNext(event: MatrixEvent): MatrixEvent | undefined;
    addEvent(event: MatrixEvent): void;
    addEvents(events: MatrixEvent[]): void;
    includes(event: MatrixEvent): boolean;
    /**
     * @returns {number} Length in milliseconds
     */
    getLength(): number;
    getLengthSeconds(): number;
    /**
     * Returns the accumulated length to (excl.) a chunk event.
     */
    getLengthTo(event: MatrixEvent): number;
    findByTime(time: number): MatrixEvent | null;
    isLast(event: MatrixEvent): boolean;
    getSequenceForEvent(event: MatrixEvent): number | null;
    getNumberOfEvents(): number;
    private calculateChunkLength;
    private addOrReplaceEvent;
    private equalByTxnIdOrId;
    /**
     * Sort by sequence, if available for all events.
     * Else fall back to timestamp.
     */
    private sort;
    private compareBySequence;
    private compareByTimestamp;
    private allHaveSequence;
}
