import Player from '@oplayer/core';
import type { ActiveDanmukuRect, DanmukuItem, Options, QueueItem, _Options } from './types';
export default class Danmuku {
    player: Player;
    $player: HTMLDivElement;
    $danmuku: HTMLDivElement;
    options: _Options;
    isStop: boolean;
    isHide: boolean;
    timer: number | null;
    queue: QueueItem[];
    $refs: HTMLDivElement[];
    worker: Worker;
    constructor(player: Player, options: Options);
    fetch(): Promise<void>;
    load(danmukus: DanmukuItem[]): void;
    start(): void;
    update(): void;
    continue(): void;
    suspend(): void;
    mapping(status: string, callback: (d: QueueItem) => void): void;
    getLeft($ref: HTMLElement): number;
    createItem({ text, cssText }: {
        text: string;
        cssText: string;
    }): HTMLDivElement;
    getReady(): QueueItem[];
    getActiveDanmukusBoundingClientRect(): ActiveDanmukuRect[];
    postMessage(message?: any): Promise<{
        top: number;
    }>;
    makeWait(danmu: QueueItem): void;
    reset(): void;
    emit(danmu: DanmukuItem): void;
    stop(): void;
    show(): void;
    hide(): void;
    destroy(): void;
}
//# sourceMappingURL=danmuku.d.ts.map