UNPKG

@aigamo/hydrangean-diva

Version:

An open-source online media player that can be deployed to and hosted on GitHub pages.

57 lines (56 loc) 2.64 kB
import { LocalStorageStateStore } from '@aigamo/route-sphere'; import { IObservableStateProvider } from '../../common/interfaces/IObservableStateProvider'; import { IPlayQueueItemStore } from '../interfaces/IPlayQueueItemStore'; import { IPlayQueueStore } from '../interfaces/IPlayQueueStore'; import { PlayQueueDto } from '../interfaces/PlayQueueDto'; import { PlayQueueItemDto } from '../interfaces/PlayQueueItemDto'; import { RepeatMode } from '../interfaces/RepeatMode'; export declare class PlayQueueStore implements IPlayQueueStore, LocalStorageStateStore<PlayQueueDto> { readonly observableStateProvider: IObservableStateProvider; interacted: boolean; items: IPlayQueueItemStore[]; currentId: number | undefined; repeat: RepeatMode; shuffle: boolean; constructor(observableStateProvider: IObservableStateProvider); createItem(dto: PlayQueueItemDto): IPlayQueueItemStore; get localStorageState(): PlayQueueDto; set localStorageState(value: PlayQueueDto); validateLocalStorageState(localStorageState: any): localStorageState is PlayQueueDto; get isEmpty(): boolean; get currentItem(): IPlayQueueItemStore | undefined; get canPlay(): boolean; get canPause(): boolean; get hasMultipleItems(): boolean; get currentIndex(): number | undefined; set currentIndex(value: number | undefined); get hasPreviousItem(): boolean; get hasNextItem(): boolean; get isLastItem(): boolean; get selectedItems(): IPlayQueueItemStore[]; get allItemsSelected(): boolean; set allItemsSelected(value: boolean); get selectedItemsOrAllItems(): IPlayQueueItemStore[]; setItems(value: IPlayQueueItemStore[]): void; interact(): void; clear(): void; unselectAll(): void; setCurrentItem(item: IPlayQueueItemStore | undefined): void; setNextItems(items: IPlayQueueItemStore[]): void; clearAndSetItems(items: IPlayQueueItemStore[]): void; playNext(items: IPlayQueueItemStore[]): Promise<void>; playSelectedItemsNext(): Promise<void>; addItems(items: IPlayQueueItemStore[]): Promise<void>; addSelectedItems(): Promise<void>; playFirst(items: IPlayQueueItemStore[]): Promise<void>; moveItem(item: IPlayQueueItemStore, index: number): void; removeItems(items: IPlayQueueItemStore[]): Promise<void>; removeSelectedItems(): Promise<void>; removeOtherItems(item: IPlayQueueItemStore): Promise<void>; removeItemsAbove(item: IPlayQueueItemStore): Promise<void>; toggleRepeat(): void; toggleShuffle(): void; previous(): Promise<void>; next(): Promise<void>; goToFirst(): Promise<void>; }