import { IPlayQueueItemStore } from '../../media-player.play-queue.abstractions/interfaces/IPlayQueueItemStore';
import { IPlayQueueStore } from '../../media-player.play-queue.abstractions/interfaces/IPlayQueueStore';
import { PlayQueueItemDto } from '../../media-player.play-queue.abstractions/interfaces/PlayQueueItemDto';
import { PlayerType } from '@aigamo/nostalgic-diva';
export declare class PlayQueueItemStore implements IPlayQueueItemStore {
    readonly playQueue: IPlayQueueStore;
    readonly dto: PlayQueueItemDto;
    static nextId: number;
    readonly id: number;
    isSelected: boolean;
    constructor(playQueue: IPlayQueueStore, dto: PlayQueueItemDto);
    static fromDto(playQueue: IPlayQueueStore, dto: PlayQueueItemDto): IPlayQueueItemStore;
    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;
    clone(): IPlayQueueItemStore;
    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>;
}
