import { DeepReadonly, InjectionKey, Ref } from 'vue' import DialogBox from '@/components/ui/DialogBox.vue' import MessageToaster from '@/components/ui/MessageToaster.vue' export interface ReadonlyInjectionKey extends InjectionKey<[Readonly | DeepReadonly, Closure]> { } export const DialogBoxKey: InjectionKey>> = Symbol('DialogBox') export const MessageToasterKey: InjectionKey>> = Symbol('MessageToaster') export const SongListTypeKey: ReadonlyInjectionKey = Symbol('SongListType') export const SongsKey: ReadonlyInjectionKey> = Symbol('Songs') 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')