// electron-env.d.ts
export interface IElectronAPI {
    setMainWindowSize: (config: any) => void;
    getWindowSize: () => any;
    setViewStatus: (status: 'quit' | 'maximize' | 'minimize' | 'unmaximize' | 'hide' | 'show') => void;
    getIsMaximized: () => Promise<boolean>;
    setWriteText: (text: string) => void;
    onQuit: (callBack: Function) => void;
    onUpdate: (callBack: Function) => void;
    joinNotification: (data: { name: string, body: string }) => void;
    onDownload: (data: string) => void
    selectFilePath: (data?: any) => void
    onFilePath: (callBack: Function) => void;
    getSources: () => any;
    quit: (bool) => any;
    downFile: (callBack: Function) => void;
    quitAndInstall: (callBack: Function) => void;
    isOpenWindows: (callBack: Function) => void;
    getVersion: () => Promise<string>;
    isVisible: () => Promise<string>;
    setRegistry: (uuid: string) => any;
    getRegistry: () => any;
    createChildWindow: (config: any) => void;
    setChildWindow: (config: any) => void;
    setChildWindowShow: (config: any) => void;
    closeChildWindow: (key: string) => void;
    mainWindowCenter: () => any;
    mainWindowHide: () => any;
}

declare global {
    interface Window {
        electron: IElectronAPI;
    }
}
