import { Media } from "./media.model";
export declare class PlaylistItem {
    media: Media;
    next?: PlaylistItem;
    prev?: PlaylistItem;
    constructor(media: Media);
    static hasSameMediaSrc(p1: PlaylistItem, p2: PlaylistItem): boolean;
    hasNext(): boolean;
    hasPrev(): boolean;
}
export declare class Playlist {
    id?: string;
    current?: PlaylistItem;
    head?: PlaylistItem;
    tail?: PlaylistItem;
    itemCount: number;
    constructor(item?: PlaylistItem);
    static getLastItemFrom(item: PlaylistItem): PlaylistItem;
    static getItemsCount(item: PlaylistItem): number;
    static mediaArrToPaylistItems(playlist: Media[]): PlaylistItem;
    resetPlaylist(): void;
    initializePlaylist(mediaItems: Media[]): void;
    updateHead(item: PlaylistItem): void;
    updateTail(item: PlaylistItem): void;
    appendPlaylist(item: PlaylistItem, atHead?: boolean): void;
    addNext(item: PlaylistItem): void;
    remove(item: PlaylistItem): Media | undefined;
    isEmpty(): boolean;
    contains(item: PlaylistItem): boolean;
    getPlaylistItemAt(index: number): PlaylistItem | undefined;
    countPlaylistItems(): number;
}
