import { IPlayQueueStore } from '../../media-player.play-queue.abstractions/interfaces/IPlayQueueStore';
import { PlayQueueItemDto } from '../../media-player.play-queue.abstractions/interfaces/PlayQueueItemDto';
import { IPlaylistItemStore } from '../../media-player.playlists.abstractions/interfaces/IPlaylistItemStore';
import { IPlaylistStore } from '../../media-player.playlists.abstractions/interfaces/IPlaylistStore';
import { PlayerType } from '@aigamo/nostalgic-diva';
export declare class PlaylistItemStore implements IPlaylistItemStore {
    readonly playQueue: IPlayQueueStore;
    readonly playlist: IPlaylistStore;
    readonly dto: PlayQueueItemDto;
    static nextId: number;
    readonly id: number;
    isSelected: boolean;
    constructor(playQueue: IPlayQueueStore, playlist: IPlaylistStore, dto: PlayQueueItemDto);
    static fromDto(playQueue: IPlayQueueStore, playlist: IPlaylistStore, dto: PlayQueueItemDto): IPlaylistItemStore;
    get url(): string;
    get type(): PlayerType;
    get videoId(): string;
    get title(): string;
    get isCurrent(): boolean;
    get index(): number;
    get isFirst(): boolean;
    get isLast(): boolean;
    get canMoveToTop(): boolean;
    get canMoveToBottom(): boolean;
    get canRemoveToTop(): boolean;
    get canRemoveOthers(): boolean;
    unselect(): void;
    select(): void;
    toggleSelected(): void;
    play(): Promise<void>;
    remove(): Promise<void>;
    playFirst(): Promise<void>;
    playNext(): Promise<void>;
    addToPlayQueue(): Promise<void>;
    moveToTop(): void;
    moveToBottom(): void;
    removeToTop(): Promise<void>;
    removeOthers(): Promise<void>;
}
