/// <reference types="node" />
import { IAudioItem, Iplaylist } from './interfaces';
import { EventEmitter } from 'events';
import View, { ICplayerViewOption } from './view';
export interface ICplayerOption {
    playlist?: Iplaylist;
    playmode?: string;
    volume?: number;
    point?: number;
    autoplay?: boolean;
}
export default class cplayer extends EventEmitter {
    private __paused;
    view: View;
    audioElement: HTMLAudioElement | HTMLVideoElement;
    private playmode;
    private playmodeName;
    private audioElementType;
    private _volume;
    set mode(playmode: string);
    set volume(volume: number);
    get volume(): number;
    get mode(): string;
    get playlist(): Iplaylist;
    get nowplay(): IAudioItem;
    get nowplaypoint(): number;
    get played(): boolean;
    get paused(): boolean;
    get duration(): number;
    get currentTime(): number;
    constructor(options: ICplayerOption & ICplayerViewOption);
    private initializeEventEmitter;
    private removeEventEmitter;
    private eventHandlers;
    setCurrentTime(currentTime: number | string): void;
    private isPlaying;
    openAudio(audio?: IAudioItem): void;
    toggleMode(): void;
    setMode(playmode: string): void;
    getMode(): string;
    play(Forced?: boolean): Promise<void>;
    pause(Forced?: boolean): void;
    to(id: number): void;
    next(): void;
    prev(): void;
    togglePlayState(): void;
    add(item: IAudioItem): void;
    remove(item: IAudioItem): void;
    setVolume(volume: number | string): void;
    destroy(): void;
}
