import { EventEmitter } from './utils/eventmitter';
import { Dispose } from './utils/dispose';
import Base from './commander/base';
import type { DanmakuOptions, DanmakuOptionsInit, RawDanmu, RollingDanmu, CommanderMap, CommanderMapKey, FixedDanmu } from './types';
export declare class Danmaku extends EventEmitter implements Dispose {
    el: HTMLElement | null;
    opts: DanmakuOptions;
    commanderMap?: CommanderMap;
    private rAFId;
    constructor(container: HTMLElement | string, opts?: DanmakuOptionsInit);
    resize(width?: number): void;
    clear(): void;
    add(danmu: RawDanmu, type?: CommanderMapKey): void;
    setOpacity(opacity?: number): void;
    setFontSize(zoom?: number): void;
    setDuration(duration: number): void;
    setTrackCount(cnt: number): void;
    start(): void;
    stop(): void;
    eachManager(handler: (commander: Base<RollingDanmu> | Base<FixedDanmu>) => any): void;
    private render;
    dispose(): void;
}
