This repository has been archived on 2025-03-19. You can view files and clone it, but cannot push or open issues or pull requests.
feishin/src/renderer/preload.d.ts
2023-10-23 06:58:39 -07:00

85 lines
4 KiB
TypeScript

import { IpcRendererEvent } from 'electron';
import { PlayerData, PlayerState } from './store';
import { FontData, InternetProviderLyricResponse, QueueSong } from '/@/renderer/api/types';
import { Remote } from '/@/main/preload/remote';
import { Mpris } from '/@/main/preload/mpris';
import { MpvPLayer, MpvPlayerListener } from '/@/main/preload/mpv-player';
import { Lyrics } from '/@/main/preload/lyrics';
import { Utils } from '/@/main/preload/utils';
import { LocalSettings } from '/@/main/preload/local-settings';
import { Ipc } from '/@/main/preload/ipc';
import { DiscordRpc } from '/@/main/preload/discord-rpc';
declare global {
interface Window {
electron: {
browser: any;
discordRpc: DiscordRpc;
ipc?: Ipc;
ipcRenderer: {
APP_RESTART(): void;
LYRIC_FETCH(data: QueueSong): void;
LYRIC_GET(
event: IpcRendererEvent,
songName: string,
source: string,
lyric: InternetProviderLyricResponse,
): void;
PASSWORD_GET(server: string): Promise<string | null>;
PASSWORD_REMOVE(server: string): void;
PASSWORD_SET(password: string, server: string): Promise<boolean>;
PLAYER_AUTO_NEXT(data: PlayerData): void;
PLAYER_CURRENT_TIME(): void;
PLAYER_GET_TIME(): number | undefined;
PLAYER_MEDIA_KEYS_DISABLE(): void;
PLAYER_MEDIA_KEYS_ENABLE(): void;
PLAYER_MUTE(): void;
PLAYER_NEXT(): void;
PLAYER_PAUSE(): void;
PLAYER_PLAY(): void;
PLAYER_PREVIOUS(): void;
PLAYER_RESTORE_DATA(): void;
PLAYER_SAVE_QUEUE(data: PlayerState): void;
PLAYER_SEEK(seconds: number): void;
PLAYER_SEEK_TO(seconds: number): void;
PLAYER_SET_QUEUE(data: PlayerData): void;
PLAYER_SET_QUEUE_NEXT(data: PlayerData): void;
PLAYER_STOP(): void;
PLAYER_VOLUME(value: number): void;
REMOTE_ENABLE(enabled: boolean): Promise<string | null>;
REMOTE_PORT(port: number): Promise<string | null>;
RENDERER_PLAYER_AUTO_NEXT(cb: (event: IpcRendererEvent, data: any) => void): void;
RENDERER_PLAYER_CURRENT_TIME(
cb: (event: IpcRendererEvent, data: any) => void,
): void;
RENDERER_PLAYER_NEXT(cb: (event: IpcRendererEvent, data: any) => void): void;
RENDERER_PLAYER_PAUSE(cb: (event: IpcRendererEvent, data: any) => void): void;
RENDERER_PLAYER_PLAY(cb: (event: IpcRendererEvent, data: any) => void): void;
RENDERER_PLAYER_PLAY_PAUSE(cb: (event: IpcRendererEvent, data: any) => void): void;
RENDERER_PLAYER_PREVIOUS(cb: (event: IpcRendererEvent, data: any) => void): void;
RENDERER_PLAYER_RESTORE_QUEUE(
cb: (event: IpcRendererEvent, data: any) => void,
): void;
RENDERER_PLAYER_SAVE_QUEUE(cb: (event: IpcRendererEvent, data: any) => void): void;
RENDERER_PLAYER_STOP(cb: (event: IpcRendererEvent, data: any) => void): void;
SETTINGS_GET(data: { property: string }): any;
SETTINGS_SET(data: { property: string; value: any }): void;
removeAllListeners(value: string): void;
windowClose(): void;
windowMaximize(): void;
windowMinimize(): void;
windowUnmaximize(): void;
};
localSettings: LocalSettings;
lyrics?: Lyrics;
mpris?: Mpris;
mpvPlayer?: MpvPLayer;
mpvPlayerListener?: MpvPlayerListener;
remote?: Remote;
utils?: Utils;
};
queryLocalFonts?: () => Promise<FontData[]>;
}
}
export {};