@aigamo/hydrangean-diva
Version:
An open-source online media player that can be deployed to and hosted on GitHub pages.
55 lines (54 loc) • 2.35 kB
TypeScript
import { IBottomBarStore } from '../../media-player.bottom-bar.abstractions/interfaces/IBottomBarStore';
import { IPlayQueueItemStore } from '../../media-player.play-queue.abstractions/interfaces/IPlayQueueItemStore';
import { IPlayQueueStore } from '../../media-player.play-queue.abstractions/interfaces/IPlayQueueStore';
import { RepeatMode } from '../../media-player.play-queue.abstractions/interfaces/RepeatMode';
import { IPlayerStore } from '../../media-player.player.abstractions/interfaces/IPlayerStore';
import { IPlayerController } from '@aigamo/nostalgic-diva';
import { IStateStore } from '@aigamo/route-sphere';
import { JSONSchemaType } from 'ajv';
interface BottomBarLocalStorageState {
repeat?: RepeatMode;
shuffle?: boolean;
}
export declare const BottomBarLocalStorageStateSchema: JSONSchemaType<BottomBarLocalStorageState>;
declare class BottomBarLocalStorageStateStore implements IStateStore<BottomBarLocalStorageState> {
private readonly bottomBar;
constructor(bottomBar: BottomBarStore);
get state(): BottomBarLocalStorageState;
set state(value: BottomBarLocalStorageState);
validateState(state: unknown): state is BottomBarLocalStorageState;
}
export declare class BottomBarStore implements IBottomBarStore {
private readonly player;
private readonly playQueue;
readonly localStorageState: BottomBarLocalStorageStateStore;
repeat: RepeatMode;
shuffle: boolean;
constructor(player: IPlayerStore, playQueue: IPlayQueueStore);
get controller(): IPlayerController;
get playing(): boolean;
get percent(): number;
get canSeek(): boolean;
get currentItem(): IPlayQueueItemStore | undefined;
get canToggleRepeat(): boolean;
get canToggleShuffle(): boolean;
get canPlay(): boolean;
get canPause(): boolean;
get canPrevious(): boolean;
get canNext(): boolean;
get canSkipBack10(): boolean;
get canSkipForward30(): boolean;
get canRemoveFromPlayQueue(): boolean;
setPercent(value: number): void;
setSeeking(value: boolean): void;
toggleRepeat(): void;
toggleShuffle(): void;
play(): Promise<void>;
pause(): Promise<void>;
previous(): Promise<void>;
next(): Promise<void>;
skipBack10(): Promise<void>;
skipForward30(): Promise<void>;
removeFromPlayQueue(): Promise<void>;
}
export {};