import { PropType } from 'vue';
/**
 * 自定义弹幕
 */
type CustomDanmu<T = any> = {
    [key: string]: T;
};
/**
 * 弹幕类型
 */
type Danmu = string | CustomDanmu;
declare const _default: import("vue").DefineComponent<{
    /**
     * 弹幕列表数据
     */
    danmus: {
        type: PropType<Danmu[]>;
        required: true;
        default: () => never[];
    };
    /**
     * 轨道数量，0为最大轨道数量（撑满容器）
     */
    channels: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * 是否自动播放
     */
    autoplay: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 是否循环播放
     */
    loop: {
        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;
    };
}, {
    container: import("vue").Ref<HTMLDivElement>;
    dmContainer: import("vue").Ref<HTMLDivElement>;
    hidden: import("vue").Ref<boolean>;
    paused: import("vue").Ref<boolean>;
    danmuList: import("vue").Ref<Danmu[]>;
    getPlayState: () => boolean;
    resize: () => void;
    play: () => void;
    pause: () => void;
    stop: () => void;
    show: () => void;
    hide: () => void;
    reset: () => void;
    addDanmu: (danmu: Danmu, position?: 'current' | 'end') => number;
    insert: (dm?: Danmu) => void;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:danmus" | "list-end" | "play-end" | "dm-over" | "dm-out" | "dm-click" | "dm-remove" | "error")[], "update:danmus" | "list-end" | "play-end" | "dm-over" | "dm-out" | "dm-click" | "dm-remove" | "error", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, 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;
    };
    /**
     * 是否开启随机轨道注入弹幕
     */
    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;
    };
}>> & {
    "onUpdate:danmus"?: ((...args: any[]) => any) | undefined;
    "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;
    randomChannel: boolean;
    isSuspend: boolean;
    performanceMode: boolean;
    debounce: number;
    speeds: number;
    top: number;
    right: number;
    zIndex: number;
}>;
export default _default;
