export declare type MusicPlaylistStatus = { status: "loading" | "unselected" | "unloaded"; } | { status: "error"; reason: string; } | { status: "loaded"; serverUniqueId: string; playlistId: number; songs: number[]; activeSong: number; } | { status: "no-permissions"; failedPermission: string; }; export declare type MusicPlaylistEntryInfo = { type: "loading"; url: string | undefined; } | { type: "song"; url: string; title: string; description: string; length: number; thumbnailImage: string; }; export interface MusicPlaylistUiEvents { action_load_playlist: { forced: boolean; }; action_entry_delete: { entryId: number; }; action_reorder_song: { entryId: number; targetEntryId: number; mode: "before" | "after"; }; action_add_song: { url: string; mode: "before" | "after" | "last"; targetEntryId?: number; }; action_select_entry: { entryId: number; }; query_playlist_status: {}; query_entry_status: { entryId: number; }; notify_playlist_status: { status: MusicPlaylistStatus; }; notify_entry_status: { entryId: number; status: MusicPlaylistEntryInfo; }; }