UNPKG

@aigamo/hydrangean-diva

Version:

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

47 lines (46 loc) 2.23 kB
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 { IStateStore } from '@aigamo/route-sphere'; interface PlaylistLocalStorageState { readonly version?: '1.0'; readonly items?: PlayQueueItemDto[]; } declare class PlaylistLocalStorageStateStore implements IStateStore<PlaylistLocalStorageState> { private readonly playlist; constructor(playlist: PlaylistStore); get state(): PlaylistLocalStorageState; set state(value: PlaylistLocalStorageState); validateState(state: unknown): state is PlaylistLocalStorageState; } export declare class PlaylistStore implements IPlaylistStore { private readonly playQueue; readonly localStorageState: PlaylistLocalStorageStateStore; items: IPlaylistItemStore[]; constructor(playQueue: IPlayQueueStore); createItemFromDto(dto: PlayQueueItemDto): IPlaylistItemStore; get isEmpty(): boolean; get hasMultipleItems(): boolean; get selectedItems(): IPlaylistItemStore[]; get allItemsSelected(): boolean; get hasSelectedItems(): boolean; get selectedItemsOrAllItems(): IPlaylistItemStore[]; get canAddSelectedItems(): boolean; get canPlaySelectedItemsNext(): boolean; get canRemoveSelectedItems(): boolean; setItems(value: IPlaylistItemStore[]): void; unselectAll(): void; selectAll(): void; playSelectedItemsNext(): Promise<void>; addSelectedItems(): Promise<void>; addItems(items: IPlaylistItemStore[]): Promise<void>; moveItem(item: IPlaylistItemStore, index: number): void; removeItems(items: IPlaylistItemStore[]): Promise<void>; removeSelectedItems(): Promise<void>; removeOtherItems(item: IPlaylistItemStore): Promise<void>; removeItemsAbove(item: IPlaylistItemStore): Promise<void>; addItemFromDto(dto: PlayQueueItemDto): Promise<void>; playAll(): Promise<void>; } export {};