import React from 'react';
declare type BulletNodeType = React.ReactElement | string;
declare type OptionsType = {
    rowHeight?: number;
    speed?: number;
    opacity?: number;
    maxRow?: number;
    minGapWidth?: number;
    fontSize?: number;
    onBulletIn?: () => void;
    onBulletOut?: () => void;
    onQueueRunOut?: () => void;
};
declare type EmitOptionsType = {
    color?: string;
};
declare class Danmaku {
    static DEFAULT_ROW_HEIGHT: number;
    static DEFAULT_SPEED: number;
    static DEFAULT_FONTSIZE: number;
    static DEFAULT_OPACITY: number;
    static DEFAULT_GAP_WIDTH: number;
    private container;
    width: number;
    height: number;
    rowHeight: number;
    trackCount: number;
    speed: number;
    fontSize: number;
    opacity: number;
    minGapWidth: number;
    allPaused: boolean;
    isDestroyed: boolean;
    private options;
    private trackList;
    private queue;
    private isRunningWhenPageHide;
    static containerClassName: string;
    constructor(ele: string | HTMLElement, options?: OptionsType);
    static numberIsGreaterThanZero: (number: number | undefined) => boolean;
    static optionsParamsCheck(options?: OptionsType): void;
    private visibilityChangeEventHandle;
    private getTrackIndex;
    /**
     * 立即发送弹幕到屏幕上，自动寻找最空闲的轨道，若没有空闲轨道则可能有重叠弹幕
     * @param node 要发送的React组件或者文本
     */
    emit(node: BulletNodeType, options?: EmitOptionsType): void;
    private hasFreeTrack;
    private popBulletToFreeTrack;
    /**
     * 当有空闲弹幕轨道时，直接发送弹幕，效果通emit方法一样，
     * 若全部轨道都占用，则将弹幕暂存到队列中，待空闲后再依次放出
     * @param node
     */
    push(node: BulletNodeType, options?: EmitOptionsType): void;
    pushAll(nodeArr: Array<BulletNodeType>, options?: EmitOptionsType): void;
    /**
     * pause
     */
    pause(): void;
    /**
     * resume
     */
    resume(): void;
    /**
     * destroy
     */
    destroy(): void;
    /**
     * 获取剩余还没发出的弹幕数量
     */
    getRestAmount(): number;
    /**
     * 清空弹幕队列（只能清空排队中还未发出的弹幕）
     */
    clearQueue(): void;
}
export default Danmaku;
