import { PropType } from 'vue';
import { Danmu } from './typings/Danmaku';
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    /**
     * 弹幕列表数据
     */
    danmus: {
        type: PropType<Danmu[]>;
        required: true;
        default: () => never[];
    };
    /**
     * 轨道数量，0为最大轨道数量（撑满容器）
     */
    channels: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * 是否自动播放
     */
    autoplay: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 是否循环播放
     */
    loop: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 循环模式下是否避免重复弹幕
     */
    loopOnly: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 是否开启随机轨道注入弹幕
     */
    randomChannel: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 是否开启悬浮暂停
     */
    isSuspend: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 性能模式，启用时使用requestAnimationFrame代替CSS动画
     */
    performanceMode: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 弹幕刷新频率(ms)
     */
    debounce: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * 弹幕速度（像素/秒）
     */
    speeds: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * 弹幕垂直间距
     */
    top: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * 弹幕水平间距
     */
    right: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * 弹幕默认层级
     */
    zIndex: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * 是否自动监听容器大小变化
     */
    autoResize: {
        type: BooleanConstructor;
        default: boolean;
    };
    mirror: {
        type: BooleanConstructor;
        default: boolean;
    };
}>, {
    container: import("vue").Ref<HTMLDivElement, HTMLDivElement>;
    dmContainer: import("vue").Ref<HTMLDivElement, HTMLDivElement>;
    hidden: import("vue").Ref<boolean, boolean>;
    paused: import("vue").Ref<boolean, boolean>;
    danmuList: import("vue").Ref<Danmu[], Danmu[]>;
    getPlayState: () => boolean;
    getMaxChannels: () => number;
    resize: () => void;
    play: () => void;
    pause: () => void;
    stop: () => void;
    show: () => void;
    hide: () => void;
    clear: () => void;
    reset: () => void;
    addDanmu: (danmu: Danmu, position?: 'current' | 'end') => number;
    insert: (dm?: Danmu) => void;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("list-end" | "play-end" | "dm-over" | "dm-out" | "dm-click" | "dm-remove" | "error")[], "list-end" | "play-end" | "dm-over" | "dm-out" | "dm-click" | "dm-remove" | "error", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    /**
     * 弹幕列表数据
     */
    danmus: {
        type: PropType<Danmu[]>;
        required: true;
        default: () => never[];
    };
    /**
     * 轨道数量，0为最大轨道数量（撑满容器）
     */
    channels: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * 是否自动播放
     */
    autoplay: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 是否循环播放
     */
    loop: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 循环模式下是否避免重复弹幕
     */
    loopOnly: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 是否开启随机轨道注入弹幕
     */
    randomChannel: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 是否开启悬浮暂停
     */
    isSuspend: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 性能模式，启用时使用requestAnimationFrame代替CSS动画
     */
    performanceMode: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 弹幕刷新频率(ms)
     */
    debounce: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * 弹幕速度（像素/秒）
     */
    speeds: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * 弹幕垂直间距
     */
    top: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * 弹幕水平间距
     */
    right: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * 弹幕默认层级
     */
    zIndex: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * 是否自动监听容器大小变化
     */
    autoResize: {
        type: BooleanConstructor;
        default: boolean;
    };
    mirror: {
        type: BooleanConstructor;
        default: boolean;
    };
}>> & Readonly<{
    "onList-end"?: ((...args: any[]) => any) | undefined;
    "onPlay-end"?: ((...args: any[]) => any) | undefined;
    "onDm-over"?: ((...args: any[]) => any) | undefined;
    "onDm-out"?: ((...args: any[]) => any) | undefined;
    "onDm-click"?: ((...args: any[]) => any) | undefined;
    "onDm-remove"?: ((...args: any[]) => any) | undefined;
    onError?: ((...args: any[]) => any) | undefined;
}>, {
    danmus: Danmu[];
    channels: number;
    autoplay: boolean;
    loop: boolean;
    loopOnly: boolean;
    randomChannel: boolean;
    isSuspend: boolean;
    performanceMode: boolean;
    debounce: number;
    speeds: number;
    top: number;
    right: number;
    zIndex: number;
    autoResize: boolean;
    mirror: boolean;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
