import { PropType } from 'vue';
/**
 * 自定义弹幕
 */
type CustomDanmu = {
    [key: string]: any;
};
/**
 * 弹幕类型
 */
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;
    };
    /**
     * 是否开启弹幕插槽，默认否
     */
    useSlot: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 弹幕刷新频率(ms)
     */
    debounce: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * 弹幕速度（像素/秒）
     */
    speeds: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * 是否开启随机轨道注入弹幕
     */
    randomChannel: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 弹幕字号（仅文本模式）
     */
    fontSize: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * 弹幕垂直间距
     */
    top: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * 弹幕水平间距
     */
    right: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * 是否开启悬浮暂停
     */
    isSuspend: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 弹幕额外样式
     */
    extraStyle: {
        type: StringConstructor;
        default: string;
    };
}, {
    container: import("vue").Ref<HTMLDivElement>;
    dmContainer: import("vue").Ref<HTMLDivElement>;
    hidden: import("vue").Ref<boolean>;
    paused: import("vue").Ref<boolean>;
    danmuList: import("vue").WritableComputedRef<Danmu[]>;
    getPlayState: () => boolean;
    resize: () => void;
    play: () => void;
    pause: () => void;
    stop: () => void;
    show: () => void;
    hide: () => void;
    reset: () => void;
    add: (danmu: Danmu) => number;
    push: (danmu: Danmu) => number;
    insert: (dm?: any) => void;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("list-end" | "play-end" | "dm-over" | "dm-out" | "update:danmus")[], "list-end" | "play-end" | "dm-over" | "dm-out" | "update:danmus", 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;
    };
    /**
     * 是否开启弹幕插槽，默认否
     */
    useSlot: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 弹幕刷新频率(ms)
     */
    debounce: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * 弹幕速度（像素/秒）
     */
    speeds: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * 是否开启随机轨道注入弹幕
     */
    randomChannel: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 弹幕字号（仅文本模式）
     */
    fontSize: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * 弹幕垂直间距
     */
    top: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * 弹幕水平间距
     */
    right: {
        type: NumberConstructor;
        default: number;
    };
    /**
     * 是否开启悬浮暂停
     */
    isSuspend: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * 弹幕额外样式
     */
    extraStyle: {
        type: StringConstructor;
        default: string;
    };
}>> & {
    "onList-end"?: ((...args: any[]) => any) | undefined;
    "onPlay-end"?: ((...args: any[]) => any) | undefined;
    "onDm-over"?: ((...args: any[]) => any) | undefined;
    "onDm-out"?: ((...args: any[]) => any) | undefined;
    "onUpdate:danmus"?: ((...args: any[]) => any) | undefined;
}, {
    danmus: Danmu[];
    channels: number;
    autoplay: boolean;
    loop: boolean;
    useSlot: boolean;
    debounce: number;
    speeds: number;
    randomChannel: boolean;
    fontSize: number;
    top: number;
    right: number;
    isSuspend: boolean;
    extraStyle: string;
}>;
export default _default;
