UNPKG

@neosjs/electron-toolkit

Version:

neosjs electron toolkit

276 lines (265 loc) 7.44 kB
import { Logger } from 'electron-log'; import { D as DownloadOptions, M as MediaType, a as MediaAccessStatus, A as Appearance, S as SystemInfo } from '../types-GVSlQham.js'; import { BrowserWindow } from 'electron'; type EventType = string | symbol; type Handler<T = unknown> = (event: T) => void; type WildcardHandler<T = Record<string, unknown>> = (type: keyof T, event: T[keyof T]) => void; type GenericEventHandler = Handler<any> | WildcardHandler<any>; declare class NeosEmitter<Events extends Record<EventType, unknown>> { private events; constructor(); /** * 订阅/监听事件 * * @param type * @param handler */ on<Key extends keyof Events>(type: Key, handler: GenericEventHandler): any; /** * 监听一次事件 * * @param type * @param handler */ once<Key extends keyof Events>(type: Key, handler: Handler<Events[Key]>): any; /** * 发布事件 * * @param type * @param data */ emit<Key extends keyof Events>(type: Key, data?: Events[Key]): any; /** * 关闭事件监听 * * @param type * @param handler */ off<Key extends keyof Events>(type: Key, handler?: GenericEventHandler): any; /** * 销毁事件监听 */ destroy(): void; } declare class DownloadManager extends NeosEmitter<Record<string, unknown>> { private static instance; private constructor(); static getInstance(): DownloadManager; private _emitEvents; /** * 开始下载 * @param {string} url 下载地址 * @param {DownloadOptions} options 下载选项 * @returns {Promise<any>} 下载任务 */ start: (url: string, options: DownloadOptions) => Promise<any>; /** * 暂停下载 * @param {string} fileUrl 下载地址 * @returns {DownloadManager} 下载管理器 */ pause: (fileUrl: string) => DownloadManager; /** * 取消下载 * @param {string} fileUrl 下载地址 * @returns {DownloadManager} 下载管理器 */ cancel: (fileUrl: string) => DownloadManager; /** * 恢复下载 * @param {string} fileUrl 下载地址 * @returns {DownloadManager} 下载管理器 */ resume: (fileUrl: string) => DownloadManager; /** * 移除所有监听 * @returns {DownloadManager} 下载管理器 */ destroy: () => void; } declare class FileManager { private static instance; private constructor(); static getInstance(): FileManager; /** * 打开文件或文件夹 * @param {string} path - 文件或文件夹路径 */ openPath: (path: string) => any; /** * 打开文件或文件夹(异步) * @param {string} path - 文件或文件夹路径 */ openPathAsync: (path: string) => Promise<any>; /** * 路径是否存在 * @param {string} path - 文件或文件夹路径 */ pathExists: (path: string) => Promise<boolean>; /** * 清理目录 * @param {string} dir - 目录路径 */ cleanupDirectory: (dir: string) => Promise<boolean>; /** * 删除用户数据 * @param {string} name - 用户数据名称 */ deleteUserData: (name: string) => Promise<boolean>; /** * 保存文件 * @param {string} filePath - 文件路径 * @param {string} content - 文件内容 */ saveFile: (filePath: string, content: string) => Promise<void>; /** * 删除文件 * @param {string} filePath - 文件路径 */ removeFile: (filePath: string) => Promise<void>; } declare class MediaManager { private static instance; private constructor(); static getInstance(): MediaManager; /** * 获取媒体访问权限状态 * @param {MediaType} mediaType - 媒体类型 * @returns {Promise<MediaAccessStatus>} 媒体访问权限状态 */ getMediaAccessStatus: (mediaType: MediaType) => Promise<MediaAccessStatus>; /** * 请求媒体访问权限 * @param {MediaType} mediaType - 媒体类型 * @returns {Promise<boolean>} 是否请求成功 */ askForMediaAccess: (mediaType: MediaType) => Promise<boolean>; } declare class StorageManager { private static instance; private constructor(); static getInstance(): StorageManager; /** * 清理系统缓存 * @returns {Promise<void>} 清理系统缓存 */ clearCache: () => Promise<void>; /** * 清理系统存储 * @param {any} options 清理系统存储选项 */ cleanStorage: (options?: any) => void; } declare class SystemManager { private static instance; private constructor(); static getInstance(): SystemManager; /** * 获取系统主题 * @returns {Promise<Appearance>} 系统主题 */ getSystemTheme: () => Promise<Appearance>; /** * 获取系统信息 * @returns {Promise<SystemInfo>} 系统信息 */ getSystemInfo: () => Promise<SystemInfo>; /** * 打开URL * @param {string} url - URL */ openURL: (url: string) => void; } declare class UpdaterManager extends NeosEmitter<Record<string, unknown>> { private static instance; private constructor(); /** * 获取实例 * @returns {UpdaterManager} */ static getInstance(): UpdaterManager; /** * 自动更新 * @returns {Promise<void>} */ autoCheckForUpdates: (url: string) => Promise<void>; /** * 检查更新 * @param {string} url 更新源 * @returns {Promise<void>} */ checkForUpdates: (url: string) => Promise<void>; /** * 下载更新 * @returns {Promise<void>} */ downloadUpdate: () => Promise<void>; /** * 安装更新 * @returns {Promise<void>} */ installUpdate: () => Promise<void>; /** * 销毁 */ destroy: () => void; } declare class WindowManager { private static instance; private constructor(); static getInstance(): WindowManager; /** * 设置窗口大小 * @param {number} width - 宽度 * @param {number} height - 高度 */ setSize: (width: number, height: number) => void; /** * 设置窗口可操作 * @param {string} type - 类型 * @param {boolean} flag - 标志 * @param {BrowserWindow} win - 窗口 */ setAble: (type: string, flag?: boolean, win?: BrowserWindow) => boolean; /** * 设置窗口居中 */ center: () => void; /** * 设置窗口最大化 */ maximize: () => void; /** * 设置窗口最小化 */ minimize: () => void; /** * 设置窗口关闭 */ closeWindow: () => void; /** * 设置窗口全屏 */ fullscreen: () => void; /** * 设置窗口退出全屏 */ exitFullscreen: () => void; } declare class RendererManager { version: string; private static instance; logger: Logger; downloadManager: DownloadManager; storageManager: StorageManager; windowManager: WindowManager; systemManager: SystemManager; mediaManager: MediaManager; fileManager: FileManager; updaterManager: UpdaterManager; emitter: NeosEmitter<Record<EventType, unknown>>; private constructor(); static getInstance(): RendererManager; } declare const rendererManager: RendererManager; export { rendererManager as default };