import { DeepReadonly, InjectionKey, Ref } from 'vue' import DialogBox from '@/components/ui/DialogBox.vue' import MessageToaster from '@/components/ui/MessageToaster.vue' import Router from '@/router' export interface ReadonlyInjectionKey extends InjectionKey<[Readonly | DeepReadonly, Closure]> { } export const RouterKey: InjectionKey = Symbol('Router') export const ScreenNameKey: ReadonlyInjectionKey = Symbol('ScreenName') export const DialogBoxKey: InjectionKey>> = Symbol('DialogBox') export const MessageToasterKey: InjectionKey>> = Symbol('MessageToaster') export const SongsKey: ReadonlyInjectionKey> | InjectionKey> = Symbol('Songs') export const CurrentSongKey: InjectionKey> = Symbol('CurrentSong') export const SelectedSongsKey: ReadonlyInjectionKey> = Symbol('SelectedSongs') export const SongListConfigKey: ReadonlyInjectionKey> = Symbol('SongListConfig') export const SongListSortFieldKey: ReadonlyInjectionKey> = Symbol('SongListSortField') export const SongListSortOrderKey: ReadonlyInjectionKey> = Symbol('SongListSortOrder') export const EditSongFormInitialTabKey: ReadonlyInjectionKey> = Symbol('EditSongFormInitialTab') export const PlaylistKey: ReadonlyInjectionKey> = Symbol('Playlist') export const PlaylistFolderKey: ReadonlyInjectionKey> = Symbol('PlaylistFolder') export const UserKey: ReadonlyInjectionKey> = Symbol('User')