ReForged
    Preparing search index...

    Interface MakerMeta

    interface MakerMeta {
        appName: string;
        dir: string;
        forgeConfig: ResolvedForgeConfig & {
            buildIdentifier?: string | {};
            hooks?: {
                generateAssets?: {};
                packageAfterCopy?: {};
                packageAfterExtract?: {};
                packageAfterPrune?: {};
                postMake?: {};
                postPackage?: {};
                postStart?: {};
                preMake?: {};
                prePackage?: {};
                preStart?: {};
                readPackageJson?: {};
                resolveForgeConfig?: {};
            };
            makers: readonly (
                | {
                    config: any;
                    enabled?: boolean;
                    name: string;
                    platforms?: readonly string[]
                    | null;
                }
                | { platforms?: readonly string[] }
            )[];
            outDir?: string;
            packagerConfig: {
                afterAsar?: readonly {}[];
                afterComplete?: readonly {}[];
                afterCopy?: readonly {}[];
                afterCopyExtraResources?: readonly {}[];
                afterExtract?: readonly {}[];
                afterFinalizePackageTargets?: readonly {}[];
                afterInitialize?: readonly {}[];
                afterPrune?: readonly {}[];
                all?: boolean;
                appBundleId?: string;
                appCategoryType?: string;
                appCopyright?: string;
                appVersion?: string;
                asar?:
                    | boolean
                    | {
                        dot?: boolean;
                        globOptions?: {
                            absolute?: boolean;
                            allowWindowsEscape?: boolean;
                            cache?: {
                                readonly [key: string]: | boolean
                                | readonly (...)[]
                                | "DIR"
                                | "FILE";
                            };
                            cwd?: string;
                            debug?: boolean;
                            dot?: boolean;
                            flipNegate?: boolean;
                            follow?: boolean;
                            fs?: {
                                access: { __promisify__: {} };
                                accessSync: {};
                                appendFile: { __promisify__: {} };
                                appendFileSync: {};
                                chmod: { __promisify__: {} };
                                chmodSync: {};
                                chown: { __promisify__: {} };
                                chownSync: {};
                                close: { __promisify__: {} };
                                closeSync: {};
                                constants: {
                                    COPYFILE_EXCL: number;
                                    COPYFILE_FICLONE: number;
                                    COPYFILE_FICLONE_FORCE: number;
                                    F_OK: number;
                                    O_APPEND: number;
                                    O_CREAT: number;
                                    O_DIRECT: number;
                                    O_DIRECTORY: number;
                                    O_DSYNC: number;
                                    O_EXCL: number;
                                    O_NOATIME: number;
                                    O_NOCTTY: number;
                                    O_NOFOLLOW: number;
                                    O_NONBLOCK: number;
                                    O_RDONLY: number;
                                    O_RDWR: number;
                                    O_SYMLINK: number;
                                    O_SYNC: number;
                                    O_TRUNC: number;
                                    O_WRONLY: number;
                                    R_OK: number;
                                    S_IFBLK: number;
                                    S_IFCHR: number;
                                    S_IFDIR: number;
                                    S_IFIFO: number;
                                    S_IFLNK: number;
                                    S_IFMT: number;
                                    S_IFREG: number;
                                    S_IFSOCK: number;
                                    S_IRGRP: number;
                                    S_IROTH: number;
                                    S_IRUSR: number;
                                    S_IRWXG: number;
                                    S_IRWXO: number;
                                    S_IRWXU: number;
                                    S_IWGRP: number;
                                    S_IWOTH: number;
                                    S_IWUSR: number;
                                    S_IXGRP: number;
                                    S_IXOTH: number;
                                    S_IXUSR: number;
                                    UV_FS_O_FILEMAP: number;
                                    W_OK: number;
                                    X_OK: number;
                                };
                                copyFile: { __promisify__: {} };
                                copyFileSync: {};
                                cp: {};
                                cpSync: {};
                                createReadStream: {};
                                createWriteStream: {};
                                Dir: {
                                    prototype: {
                                        "[asyncDispose]": ...;
                                        "[asyncIterator]": ...;
                                        "[dispose]": ...;
                                        close: ...;
                                        closeSync: ...;
                                        path: ...;
                                        read: ...;
                                        readSync: ...;
                                    };
                                };
                                Dirent: {
                                    prototype: {
                                        isBlockDevice: ...;
                                        isCharacterDevice: ...;
                                        isDirectory: ...;
                                        isFIFO: ...;
                                        isFile: ...;
                                        isSocket: ...;
                                        isSymbolicLink: ...;
                                        name: ...;
                                        parentPath: ...;
                                        path: ...;
                                    };
                                };
                                exists: { __promisify__: {} };
                                existsSync: {};
                                fchmod: { __promisify__: {} };
                                fchmodSync: {};
                                fchown: { __promisify__: {} };
                                fchownSync: {};
                                fdatasync: { __promisify__: {} };
                                fdatasyncSync: {};
                                fstat: { __promisify__: {} };
                                fstatSync: {};
                                fsync: { __promisify__: {} };
                                fsyncSync: {};
                                ftruncate: { __promisify__: {} };
                                ftruncateSync: {};
                                futimes: { __promisify__: {} };
                                futimesSync: {};
                                glob: {};
                                globSync: {};
                                lchmod: { __promisify__: {} };
                                lchmodSync: {};
                                lchown: { __promisify__: {} };
                                lchownSync: {};
                                link: { __promisify__: {} };
                                linkSync: {};
                                lstat: { __promisify__: {} };
                                lstatSync: {
                                    "[hasInstance]": {};
                                    apply: {};
                                    arguments: any;
                                    bind: {};
                                    call: {};
                                    caller: {
                                        "[hasInstance]": ...;
                                        apply: ...;
                                        arguments: ...;
                                        bind: ...;
                                        call: ...;
                                        caller: ...;
                                        length: ...;
                                        name: ...;
                                        prototype: ...;
                                        toString: ...;
                                    };
                                    length: number;
                                    name: string;
                                    prototype: any;
                                    toString: {};
                                };
                                lutimes: { __promisify__: {} };
                                lutimesSync: {};
                                mkdir: { __promisify__: {} };
                                mkdirSync: {};
                                mkdtemp: { __promisify__: {} };
                                mkdtempSync: {};
                                open: { __promisify__: {} };
                                openAsBlob: {};
                                opendir: { __promisify__: {} };
                                opendirSync: {};
                                openSync: {};
                                promises: {
                                    access: {};
                                    appendFile: {};
                                    chmod: {};
                                    chown: {};
                                    constants: {
                                        COPYFILE_EXCL: ...;
                                        COPYFILE_FICLONE: ...;
                                        COPYFILE_FICLONE_FORCE: ...;
                                        F_OK: ...;
                                        O_APPEND: ...;
                                        O_CREAT: ...;
                                        O_DIRECT: ...;
                                        O_DIRECTORY: ...;
                                        O_DSYNC: ...;
                                        O_EXCL: ...;
                                        O_NOATIME: ...;
                                        O_NOCTTY: ...;
                                        O_NOFOLLOW: ...;
                                        O_NONBLOCK: ...;
                                        O_RDONLY: ...;
                                        O_RDWR: ...;
                                        O_SYMLINK: ...;
                                        O_SYNC: ...;
                                        O_TRUNC: ...;
                                        O_WRONLY: ...;
                                        R_OK: ...;
                                        S_IFBLK: ...;
                                        S_IFCHR: ...;
                                        S_IFDIR: ...;
                                        S_IFIFO: ...;
                                        S_IFLNK: ...;
                                        S_IFMT: ...;
                                        S_IFREG: ...;
                                        S_IFSOCK: ...;
                                        S_IRGRP: ...;
                                        S_IROTH: ...;
                                        S_IRUSR: ...;
                                        S_IRWXG: ...;
                                        S_IRWXO: ...;
                                        S_IRWXU: ...;
                                        S_IWGRP: ...;
                                        S_IWOTH: ...;
                                        S_IWUSR: ...;
                                        S_IXGRP: ...;
                                        S_IXOTH: ...;
                                        S_IXUSR: ...;
                                        UV_FS_O_FILEMAP: ...;
                                        W_OK: ...;
                                        X_OK: ...;
                                    };
                                    copyFile: {};
                                    cp: {};
                                    glob: {};
                                    lchmod: {};
                                    lchown: {};
                                    link: {};
                                    lstat: {};
                                    lutimes: {};
                                    mkdir: {};
                                    mkdtemp: {};
                                    open: {};
                                    opendir: {};
                                    readdir: {};
                                    readFile: {};
                                    readlink: {};
                                    realpath: {};
                                    rename: {};
                                    rm: {};
                                    rmdir: {};
                                    stat: {};
                                    statfs: {};
                                    symlink: {};
                                    truncate: {};
                                    unlink: {};
                                    utimes: {};
                                    watch: {};
                                    writeFile: {};
                                };
                                read: { __promisify__: {} };
                                readdir: { __promisify__: {} };
                                readdirSync: {};
                                readFile: { __promisify__: {} };
                                readFileSync: {};
                                readlink: { __promisify__: {} };
                                readlinkSync: {};
                                ReadStream: {
                                    addAbortListener: {};
                                    addAbortSignal: {};
                                    captureRejections: boolean;
                                    captureRejectionSymbol: typeof captureRejectionSymbol;
                                    defaultMaxListeners: number;
                                    Duplex: {
                                        addAbortListener: ...;
                                        addAbortSignal: ...;
                                        captureRejections: ...;
                                        captureRejectionSymbol: ...;
                                        defaultMaxListeners: ...;
                                        Duplex: ...;
                                        duplexPair: ...;
                                        errorMonitor: ...;
                                        EventEmitter: ...;
                                        EventEmitterAsyncResource: ...;
                                        finished: ...;
                                        from: ...;
                                        fromWeb: ...;
                                        getDefaultHighWaterMark: ...;
                                        getEventListeners: ...;
                                        getMaxListeners: ...;
                                        isErrored: ...;
                                        isReadable: ...;
                                        isWritable: ...;
                                        listenerCount: ...;
                                        on: ...;
                                        once: ...;
                                        PassThrough: ...;
                                        pipeline: ...;
                                        promises: ...;
                                        prototype: ...;
                                        Readable: ...;
                                        setDefaultHighWaterMark: ...;
                                        setMaxListeners: ...;
                                        Stream: ...;
                                        toWeb: ...;
                                        Transform: ...;
                                        Writable: ...;
                                    };
                                    duplexPair: {};
                                    errorMonitor: typeof errorMonitor;
                                    EventEmitter: {
                                        addAbortListener: ...;
                                        captureRejections: ...;
                                        captureRejectionSymbol: ...;
                                        defaultMaxListeners: ...;
                                        errorMonitor: ...;
                                        EventEmitter: ...;
                                        EventEmitterAsyncResource: ...;
                                        getEventListeners: ...;
                                        getMaxListeners: ...;
                                        listenerCount: ...;
                                        on: ...;
                                        once: ...;
                                        prototype: ...;
                                        setMaxListeners: ...;
                                    };
                                    EventEmitterAsyncResource: {
                                        addAbortListener: ...;
                                        captureRejections: ...;
                                        captureRejectionSymbol: ...;
                                        defaultMaxListeners: ...;
                                        errorMonitor: ...;
                                        EventEmitter: ...;
                                        EventEmitterAsyncResource: ...;
                                        getEventListeners: ...;
                                        getMaxListeners: ...;
                                        listenerCount: ...;
                                        on: ...;
                                        once: ...;
                                        prototype: ...;
                                        setMaxListeners: ...;
                                    };
                                    finished: { __promisify__: ... };
                                    from: {};
                                    fromWeb: {};
                                    getDefaultHighWaterMark: {};
                                    getEventListeners: {};
                                    getMaxListeners: {};
                                    isDisturbed: {};
                                    isErrored: {};
                                    isReadable: {};
                                    isWritable: {};
                                    listenerCount: {};
                                    on: {};
                                    once: {};
                                    PassThrough: {
                                        addAbortListener: ...;
                                        addAbortSignal: ...;
                                        captureRejections: ...;
                                        captureRejectionSymbol: ...;
                                        defaultMaxListeners: ...;
                                        Duplex: ...;
                                        duplexPair: ...;
                                        errorMonitor: ...;
                                        EventEmitter: ...;
                                        EventEmitterAsyncResource: ...;
                                        finished: ...;
                                        from: ...;
                                        fromWeb: ...;
                                        getDefaultHighWaterMark: ...;
                                        getEventListeners: ...;
                                        getMaxListeners: ...;
                                        isErrored: ...;
                                        isReadable: ...;
                                        isWritable: ...;
                                        listenerCount: ...;
                                        on: ...;
                                        once: ...;
                                        PassThrough: ...;
                                        pipeline: ...;
                                        promises: ...;
                                        prototype: ...;
                                        Readable: ...;
                                        setDefaultHighWaterMark: ...;
                                        setMaxListeners: ...;
                                        Stream: ...;
                                        toWeb: ...;
                                        Transform: ...;
                                        Writable: ...;
                                    };
                                    pipeline: { __promisify__: ... };
                                    promises: { finished: ...; pipeline: ... };
                                    prototype: {
                                        _construct?: ...;
                                        _destroy: ...;
                                        _read: ...;
                                        "[asyncDispose]": ...;
                                        "[asyncIterator]": ...;
                                        "[captureRejectionSymbol]"?: ...;
                                        addListener: ...;
                                        asIndexedPairs: ...;
                                        bytesRead: ...;
                                        close: ...;
                                        closed: ...;
                                        compose: ...;
                                        destroy: ...;
                                        destroyed: ...;
                                        drop: ...;
                                        emit: ...;
                                        errored: ...;
                                        eventNames: ...;
                                        every: ...;
                                        filter: ...;
                                        find: ...;
                                        flatMap: ...;
                                        forEach: ...;
                                        getMaxListeners: ...;
                                        isPaused: ...;
                                        iterator: ...;
                                        listenerCount: ...;
                                        listeners: ...;
                                        map: ...;
                                        off: ...;
                                        on: ...;
                                        once: ...;
                                        path: ...;
                                        pause: ...;
                                        pending: ...;
                                        pipe: ...;
                                        prependListener: ...;
                                        prependOnceListener: ...;
                                        push: ...;
                                        rawListeners: ...;
                                        read: ...;
                                        readable: ...;
                                        readableAborted: ...;
                                        readableDidRead: ...;
                                        readableEncoding: ...;
                                        readableEnded: ...;
                                        readableFlowing: ...;
                                        readableHighWaterMark: ...;
                                        readableLength: ...;
                                        readableObjectMode: ...;
                                        reduce: ...;
                                        removeAllListeners: ...;
                                        removeListener: ...;
                                        resume: ...;
                                        setEncoding: ...;
                                        setMaxListeners: ...;
                                        some: ...;
                                        take: ...;
                                        toArray: ...;
                                        unpipe: ...;
                                        unshift: ...;
                                        wrap: ...;
                                    };
                                    Readable: {
                                        addAbortListener: ...;
                                        addAbortSignal: ...;
                                        captureRejections: ...;
                                        captureRejectionSymbol: ...;
                                        defaultMaxListeners: ...;
                                        Duplex: ...;
                                        duplexPair: ...;
                                        errorMonitor: ...;
                                        EventEmitter: ...;
                                        EventEmitterAsyncResource: ...;
                                        finished: ...;
                                        from: ...;
                                        fromWeb: ...;
                                        getDefaultHighWaterMark: ...;
                                        getEventListeners: ...;
                                        getMaxListeners: ...;
                                        isDisturbed: ...;
                                        isErrored: ...;
                                        isReadable: ...;
                                        isWritable: ...;
                                        listenerCount: ...;
                                        on: ...;
                                        once: ...;
                                        PassThrough: ...;
                                        pipeline: ...;
                                        promises: ...;
                                        prototype: ...;
                                        Readable: ...;
                                        setDefaultHighWaterMark: ...;
                                        setMaxListeners: ...;
                                        Stream: ...;
                                        toWeb: ...;
                                        Transform: ...;
                                        Writable: ...;
                                    };
                                    setDefaultHighWaterMark: {};
                                    setMaxListeners: {};
                                    Stream: {
                                        addAbortListener: ...;
                                        addAbortSignal: ...;
                                        captureRejections: ...;
                                        captureRejectionSymbol: ...;
                                        defaultMaxListeners: ...;
                                        Duplex: ...;
                                        duplexPair: ...;
                                        errorMonitor: ...;
                                        EventEmitter: ...;
                                        EventEmitterAsyncResource: ...;
                                        finished: ...;
                                        getDefaultHighWaterMark: ...;
                                        getEventListeners: ...;
                                        getMaxListeners: ...;
                                        isErrored: ...;
                                        isReadable: ...;
                                        isWritable: ...;
                                        listenerCount: ...;
                                        on: ...;
                                        once: ...;
                                        PassThrough: ...;
                                        pipeline: ...;
                                        promises: ...;
                                        prototype: ...;
                                        Readable: ...;
                                        setDefaultHighWaterMark: ...;
                                        setMaxListeners: ...;
                                        Stream: ...;
                                        Transform: ...;
                                        Writable: ...;
                                    };
                                    toWeb: {};
                                    Transform: {
                                        addAbortListener: ...;
                                        addAbortSignal: ...;
                                        captureRejections: ...;
                                        captureRejectionSymbol: ...;
                                        defaultMaxListeners: ...;
                                        Duplex: ...;
                                        duplexPair: ...;
                                        errorMonitor: ...;
                                        EventEmitter: ...;
                                        EventEmitterAsyncResource: ...;
                                        finished: ...;
                                        from: ...;
                                        fromWeb: ...;
                                        getDefaultHighWaterMark: ...;
                                        getEventListeners: ...;
                                        getMaxListeners: ...;
                                        isErrored: ...;
                                        isReadable: ...;
                                        isWritable: ...;
                                        listenerCount: ...;
                                        on: ...;
                                        once: ...;
                                        PassThrough: ...;
                                        pipeline: ...;
                                        promises: ...;
                                        prototype: ...;
                                        Readable: ...;
                                        setDefaultHighWaterMark: ...;
                                        setMaxListeners: ...;
                                        Stream: ...;
                                        toWeb: ...;
                                        Transform: ...;
                                        Writable: ...;
                                    };
                                    Writable: {
                                        addAbortListener: ...;
                                        addAbortSignal: ...;
                                        captureRejections: ...;
                                        captureRejectionSymbol: ...;
                                        defaultMaxListeners: ...;
                                        Duplex: ...;
                                        duplexPair: ...;
                                        errorMonitor: ...;
                                        EventEmitter: ...;
                                        EventEmitterAsyncResource: ...;
                                        finished: ...;
                                        fromWeb: ...;
                                        getDefaultHighWaterMark: ...;
                                        getEventListeners: ...;
                                        getMaxListeners: ...;
                                        isErrored: ...;
                                        isReadable: ...;
                                        isWritable: ...;
                                        listenerCount: ...;
                                        on: ...;
                                        once: ...;
                                        PassThrough: ...;
                                        pipeline: ...;
                                        promises: ...;
                                        prototype: ...;
                                        Readable: ...;
                                        setDefaultHighWaterMark: ...;
                                        setMaxListeners: ...;
                                        Stream: ...;
                                        toWeb: ...;
                                        Transform: ...;
                                        Writable: ...;
                                    };
                                };
                                readSync: {};
                                readv: { __promisify__: {} };
                                readvSync: {};
                                realpath: { __promisify__: {}; native: {} };
                                realpathSync: { native: {} };
                                rename: { __promisify__: {} };
                                renameSync: {};
                                rm: { __promisify__: {} };
                                rmdir: { __promisify__: {} };
                                rmdirSync: {};
                                rmSync: {};
                                stat: { __promisify__: {} };
                                statfs: { __promisify__: {} };
                                statfsSync: {};
                                Stats: {
                                    prototype: {
                                        atime: ...;
                                        atimeMs: ...;
                                        birthtime: ...;
                                        birthtimeMs: ...;
                                        blksize: ...;
                                        blocks: ...;
                                        ctime: ...;
                                        ctimeMs: ...;
                                        dev: ...;
                                        gid: ...;
                                        ino: ...;
                                        isBlockDevice: ...;
                                        isCharacterDevice: ...;
                                        isDirectory: ...;
                                        isFIFO: ...;
                                        isFile: ...;
                                        isSocket: ...;
                                        isSymbolicLink: ...;
                                        mode: ...;
                                        mtime: ...;
                                        mtimeMs: ...;
                                        nlink: ...;
                                        rdev: ...;
                                        size: ...;
                                        uid: ...;
                                    };
                                };
                                StatsFs: {
                                    prototype: {
                                        bavail: ...;
                                        bfree: ...;
                                        blocks: ...;
                                        bsize: ...;
                                        ffree: ...;
                                        files: ...;
                                        type: ...;
                                    };
                                };
                                statSync: {
                                    "[hasInstance]": {};
                                    apply: {};
                                    arguments: any;
                                    bind: {};
                                    call: {};
                                    caller: {
                                        "[hasInstance]": ...;
                                        apply: ...;
                                        arguments: ...;
                                        bind: ...;
                                        call: ...;
                                        caller: ...;
                                        length: ...;
                                        name: ...;
                                        prototype: ...;
                                        toString: ...;
                                    };
                                    length: number;
                                    name: string;
                                    prototype: any;
                                    toString: {};
                                };
                                symlink: { __promisify__: {} };
                                symlinkSync: {};
                                truncate: { __promisify__: {} };
                                truncateSync: {};
                                unlink: { __promisify__: {} };
                                unlinkSync: {};
                                unwatchFile: {};
                                utimes: { __promisify__: {} };
                                utimesSync: {};
                                watch: {};
                                watchFile: {};
                                write: { __promisify__: {} };
                                writeFile: { __promisify__: {} };
                                writeFileSync: {};
                                WriteStream: {
                                    addAbortListener: {};
                                    addAbortSignal: {};
                                    captureRejections: boolean;
                                    captureRejectionSymbol: typeof captureRejectionSymbol;
                                    defaultMaxListeners: number;
                                    Duplex: {
                                        addAbortListener: ...;
                                        addAbortSignal: ...;
                                        captureRejections: ...;
                                        captureRejectionSymbol: ...;
                                        defaultMaxListeners: ...;
                                        Duplex: ...;
                                        duplexPair: ...;
                                        errorMonitor: ...;
                                        EventEmitter: ...;
                                        EventEmitterAsyncResource: ...;
                                        finished: ...;
                                        from: ...;
                                        fromWeb: ...;
                                        getDefaultHighWaterMark: ...;
                                        getEventListeners: ...;
                                        getMaxListeners: ...;
                                        isErrored: ...;
                                        isReadable: ...;
                                        isWritable: ...;
                                        listenerCount: ...;
                                        on: ...;
                                        once: ...;
                                        PassThrough: ...;
                                        pipeline: ...;
                                        promises: ...;
                                        prototype: ...;
                                        Readable: ...;
                                        setDefaultHighWaterMark: ...;
                                        setMaxListeners: ...;
                                        Stream: ...;
                                        toWeb: ...;
                                        Transform: ...;
                                        Writable: ...;
                                    };
                                    duplexPair: {};
                                    errorMonitor: typeof errorMonitor;
                                    EventEmitter: {
                                        addAbortListener: ...;
                                        captureRejections: ...;
                                        captureRejectionSymbol: ...;
                                        defaultMaxListeners: ...;
                                        errorMonitor: ...;
                                        EventEmitter: ...;
                                        EventEmitterAsyncResource: ...;
                                        getEventListeners: ...;
                                        getMaxListeners: ...;
                                        listenerCount: ...;
                                        on: ...;
                                        once: ...;
                                        prototype: ...;
                                        setMaxListeners: ...;
                                    };
                                    EventEmitterAsyncResource: {
                                        addAbortListener: ...;
                                        captureRejections: ...;
                                        captureRejectionSymbol: ...;
                                        defaultMaxListeners: ...;
                                        errorMonitor: ...;
                                        EventEmitter: ...;
                                        EventEmitterAsyncResource: ...;
                                        getEventListeners: ...;
                                        getMaxListeners: ...;
                                        listenerCount: ...;
                                        on: ...;
                                        once: ...;
                                        prototype: ...;
                                        setMaxListeners: ...;
                                    };
                                    finished: { __promisify__: ... };
                                    fromWeb: {};
                                    getDefaultHighWaterMark: {};
                                    getEventListeners: {};
                                    getMaxListeners: {};
                                    isErrored: {};
                                    isReadable: {};
                                    isWritable: {};
                                    listenerCount: {};
                                    on: {};
                                    once: {};
                                    PassThrough: {
                                        addAbortListener: ...;
                                        addAbortSignal: ...;
                                        captureRejections: ...;
                                        captureRejectionSymbol: ...;
                                        defaultMaxListeners: ...;
                                        Duplex: ...;
                                        duplexPair: ...;
                                        errorMonitor: ...;
                                        EventEmitter: ...;
                                        EventEmitterAsyncResource: ...;
                                        finished: ...;
                                        from: ...;
                                        fromWeb: ...;
                                        getDefaultHighWaterMark: ...;
                                        getEventListeners: ...;
                                        getMaxListeners: ...;
                                        isErrored: ...;
                                        isReadable: ...;
                                        isWritable: ...;
                                        listenerCount: ...;
                                        on: ...;
                                        once: ...;
                                        PassThrough: ...;
                                        pipeline: ...;
                                        promises: ...;
                                        prototype: ...;
                                        Readable: ...;
                                        setDefaultHighWaterMark: ...;
                                        setMaxListeners: ...;
                                        Stream: ...;
                                        toWeb: ...;
                                        Transform: ...;
                                        Writable: ...;
                                    };
                                    pipeline: { __promisify__: ... };
                                    promises: { finished: ...; pipeline: ... };
                                    prototype: {
                                        _construct?: ...;
                                        _destroy: ...;
                                        _final: ...;
                                        _write: ...;
                                        _writev?: ...;
                                        "[captureRejectionSymbol]"?: ...;
                                        addListener: ...;
                                        bytesWritten: ...;
                                        close: ...;
                                        closed: ...;
                                        compose: ...;
                                        cork: ...;
                                        destroy: ...;
                                        destroyed: ...;
                                        emit: ...;
                                        end: ...;
                                        errored: ...;
                                        eventNames: ...;
                                        getMaxListeners: ...;
                                        listenerCount: ...;
                                        listeners: ...;
                                        off: ...;
                                        on: ...;
                                        once: ...;
                                        path: ...;
                                        pending: ...;
                                        pipe: ...;
                                        prependListener: ...;
                                        prependOnceListener: ...;
                                        rawListeners: ...;
                                        removeAllListeners: ...;
                                        removeListener: ...;
                                        setDefaultEncoding: ...;
                                        setMaxListeners: ...;
                                        uncork: ...;
                                        writable: ...;
                                        writableAborted: ...;
                                        writableCorked: ...;
                                        writableEnded: ...;
                                        writableFinished: ...;
                                        writableHighWaterMark: ...;
                                        writableLength: ...;
                                        writableNeedDrain: ...;
                                        writableObjectMode: ...;
                                        write: ...;
                                    };
                                    Readable: {
                                        addAbortListener: ...;
                                        addAbortSignal: ...;
                                        captureRejections: ...;
                                        captureRejectionSymbol: ...;
                                        defaultMaxListeners: ...;
                                        Duplex: ...;
                                        duplexPair: ...;
                                        errorMonitor: ...;
                                        EventEmitter: ...;
                                        EventEmitterAsyncResource: ...;
                                        finished: ...;
                                        from: ...;
                                        fromWeb: ...;
                                        getDefaultHighWaterMark: ...;
                                        getEventListeners: ...;
                                        getMaxListeners: ...;
                                        isDisturbed: ...;
                                        isErrored: ...;
                                        isReadable: ...;
                                        isWritable: ...;
                                        listenerCount: ...;
                                        on: ...;
                                        once: ...;
                                        PassThrough: ...;
                                        pipeline: ...;
                                        promises: ...;
                                        prototype: ...;
                                        Readable: ...;
                                        setDefaultHighWaterMark: ...;
                                        setMaxListeners: ...;
                                        Stream: ...;
                                        toWeb: ...;
                                        Transform: ...;
                                        Writable: ...;
                                    };
                                    setDefaultHighWaterMark: {};
                                    setMaxListeners: {};
                                    Stream: {
                                        addAbortListener: ...;
                                        addAbortSignal: ...;
                                        captureRejections: ...;
                                        captureRejectionSymbol: ...;
                                        defaultMaxListeners: ...;
                                        Duplex: ...;
                                        duplexPair: ...;
                                        errorMonitor: ...;
                                        EventEmitter: ...;
                                        EventEmitterAsyncResource: ...;
                                        finished: ...;
                                        getDefaultHighWaterMark: ...;
                                        getEventListeners: ...;
                                        getMaxListeners: ...;
                                        isErrored: ...;
                                        isReadable: ...;
                                        isWritable: ...;
                                        listenerCount: ...;
                                        on: ...;
                                        once: ...;
                                        PassThrough: ...;
                                        pipeline: ...;
                                        promises: ...;
                                        prototype: ...;
                                        Readable: ...;
                                        setDefaultHighWaterMark: ...;
                                        setMaxListeners: ...;
                                        Stream: ...;
                                        Transform: ...;
                                        Writable: ...;
                                    };
                                    toWeb: {};
                                    Transform: {
                                        addAbortListener: ...;
                                        addAbortSignal: ...;
                                        captureRejections: ...;
                                        captureRejectionSymbol: ...;
                                        defaultMaxListeners: ...;
                                        Duplex: ...;
                                        duplexPair: ...;
                                        errorMonitor: ...;
                                        EventEmitter: ...;
                                        EventEmitterAsyncResource: ...;
                                        finished: ...;
                                        from: ...;
                                        fromWeb: ...;
                                        getDefaultHighWaterMark: ...;
                                        getEventListeners: ...;
                                        getMaxListeners: ...;
                                        isErrored: ...;
                                        isReadable: ...;
                                        isWritable: ...;
                                        listenerCount: ...;
                                        on: ...;
                                        once: ...;
                                        PassThrough: ...;
                                        pipeline: ...;
                                        promises: ...;
                                        prototype: ...;
                                        Readable: ...;
                                        setDefaultHighWaterMark: ...;
                                        setMaxListeners: ...;
                                        Stream: ...;
                                        toWeb: ...;
                                        Transform: ...;
                                        Writable: ...;
                                    };
                                    Writable: {
                                        addAbortListener: ...;
                                        addAbortSignal: ...;
                                        captureRejections: ...;
                                        captureRejectionSymbol: ...;
                                        defaultMaxListeners: ...;
                                        Duplex: ...;
                                        duplexPair: ...;
                                        errorMonitor: ...;
                                        EventEmitter: ...;
                                        EventEmitterAsyncResource: ...;
                                        finished: ...;
                                        fromWeb: ...;
                                        getDefaultHighWaterMark: ...;
                                        getEventListeners: ...;
                                        getMaxListeners: ...;
                                        isErrored: ...;
                                        isReadable: ...;
                                        isWritable: ...;
                                        listenerCount: ...;
                                        on: ...;
                                        once: ...;
                                        PassThrough: ...;
                                        pipeline: ...;
                                        promises: ...;
                                        prototype: ...;
                                        Readable: ...;
                                        setDefaultHighWaterMark: ...;
                                        setMaxListeners: ...;
                                        Stream: ...;
                                        toWeb: ...;
                                        Transform: ...;
                                        Writable: ...;
                                    };
                                };
                                writeSync: {};
                                writev: { __promisify__: {} };
                                writevSync: {};
                            };
                            ignore?: string
                            | readonly string[];
                            mark?: boolean;
                            matchBase?: any;
                            nobrace?: boolean;
                            nocase?: boolean;
                            nocomment?: boolean;
                            nodir?: boolean;
                            noext?: boolean;
                            noglobstar?: boolean;
                            nomount?: boolean;
                            nonegate?: boolean;
                            nonull?: boolean;
                            nosort?: boolean;
                            nounique?: boolean;
                            partial?: boolean;
                            realpath?: boolean;
                            realpathCache?: { readonly [key: string]: string };
                            root?: string;
                            silent?: boolean;
                            stat?: boolean;
                            statCache?: {
                                readonly [key: string]: false | { isDirectory: ... } | undefined;
                            };
                            strict?: boolean;
                            symlinks?: { readonly [key: string]: boolean
                            | undefined };
                            sync?: boolean;
                            windowsPathsNoEscape?: boolean;
                        };
                        ordering?: string;
                        pattern?: string;
                        transform?: {};
                        unpack?: string;
                        unpackDir?: string;
                    };
                beforeAsar?: readonly {}[];
                beforeCopy?: readonly {}[];
                beforeCopyExtraResources?: readonly {}[];
                buildVersion?: string;
                darwinDarkModeSupport?: boolean;
                derefSymlinks?: boolean;
                download?: {
                    cacheMode?: ElectronDownloadCacheMode;
                    cacheRoot?: string;
                    checksums?: { readonly [key: string]: string };
                    downloader?: { download: {} };
                    downloadOptions?: any;
                    force?: boolean;
                    mirrorOptions?: {
                        customDir?: string;
                        customFilename?: string;
                        customVersion?: string;
                        mirror?: string;
                        nightly_mirror?: string;
                        nightlyMirror?: string;
                        resolveAssetURL?: {};
                    };
                    tempDirectory?: string;
                    unsafelyDisableChecksums?: boolean;
                };
                electronZipDir?: string;
                executableName?: string;
                extendHelperInfo?: string
                | { readonly [key: string]: any };
                extendInfo?: string | { readonly [key: string]: any };
                extraResource?: string | readonly string[];
                helperBundleId?: string;
                icon?: string | readonly string[];
                ignore?:
                    | {
                        "[match]": {};
                        "[matchAll]": {};
                        "[replace]": {};
                        "[search]": {};
                        "[split]": {};
                        compile: {};
                        dotAll: boolean;
                        exec: {};
                        flags: string;
                        global: boolean;
                        hasIndices: boolean;
                        ignoreCase: boolean;
                        lastIndex: number;
                        multiline: boolean;
                        source: string;
                        sticky: boolean;
                        test: {};
                        unicode: boolean;
                    }
                    | readonly (
                        | string
                        | {
                            "[match]": {};
                            "[matchAll]": {};
                            "[replace]": {};
                            "[search]": {};
                            "[split]": {};
                            compile: {};
                            dotAll: boolean;
                            exec: {};
                            flags: string;
                            global: boolean;
                            hasIndices: boolean;
                            ignoreCase: boolean;
                            lastIndex: number;
                            multiline: boolean;
                            source: string;
                            sticky: boolean;
                            test: {};
                            unicode: boolean;
                        }
                    )[]
                    | {};
                junk?: boolean;
                name?: string;
                osxNotarize?: | {
                    appleId: string;
                    appleIdPassword: string;
                    teamId: string;
                }
                | { appleApiIssuer: string; appleApiKey: string; appleApiKeyId: string }
                | { keychain?: string; keychainProfile: string };
                osxSign?:
                    | true
                    | {
                        identity?: string;
                        identityValidation?: boolean;
                        ignore?: string
                        | readonly string[]
                        | {};
                        keychain?: string;
                        optionsForFile?: {};
                        preAutoEntitlements?: boolean;
                        preEmbedProvisioningProfile?: boolean;
                        provisioningProfile?: string;
                        strictVerify?: string | boolean;
                        type?: SigningDistributionType;
                    };
                osxUniversal?: {
                    infoPlistsToIgnore?: string;
                    mergeASARs?: boolean;
                    singleArchFiles?: string;
                    x64ArchFiles?: string;
                };
                overwrite?: boolean;
                prebuiltAsar?: string;
                protocols?: readonly { name: string; schemes: readonly string[] }[];
                prune?: boolean;
                quiet?: boolean;
                tmpdir?: string | false;
                usageDescription?: { readonly [key: string]: string };
                win32metadata?: {
                    "application-manifest"?: string;
                    CompanyName?: string;
                    FileDescription?: string;
                    InternalName?: string;
                    OriginalFilename?: string;
                    ProductName?: string;
                    "requested-execution-level"?:
                        | "asInvoker"
                        | "highestAvailable"
                        | "requireAdministrator";
                };
                windowsSign?: | true
                | {
                    automaticallySelectCertificate?: boolean;
                    certificateFile?: string;
                    certificatePassword?: string;
                    continueOnError?: boolean;
                    debug?: boolean;
                    description?: string;
                    hashes?: readonly HASHES[];
                    hookFunction?: {};
                    hookModulePath?: string;
                    signJavaScript?: boolean;
                    signToolPath?: string;
                    signWithParams?: string
                    | readonly string[];
                    timestampServer?: string;
                    website?: string;
                };
            };
            plugins: readonly (
                | { config?: any; name: string }
                | { getHooks?: {}; init: {}; name: string; startLogic?: {} }
            )[];
            publishers: readonly (
                | { config?: any; name: string; platforms?: readonly string[]
                | null }
                | { platforms?: readonly string[] }
            )[];
            rebuildConfig: {
                buildFromSource?: boolean;
                cachePath?: string;
                debug?: boolean;
                disablePreGypCopy?: boolean;
                extraModules?: readonly string[];
                force?: boolean;
                forceABI?: number;
                headerURL?: string;
                ignoreModules?: readonly string[];
                jobs?: number;
                mode?: RebuildMode;
                onlyModules?: readonly string[] | null;
                platform?: Platform;
                prebuildTagPrefix?: string;
                projectRootPath?: string;
                types?: readonly ModuleType[];
                useCache?: boolean;
                useElectronClang?: boolean;
            };
        };
        makeDir: string;
        packageJSON: PackageJSON;
        targetArch: ForgeArch;
        targetPlatform: string;
    }

    Hierarchy

    • MixedMut<MakerOptions>
      • MakerMeta
    Index
    appName: string

    The resolved human friendly name of the project

    dir: string

    The directory containing the packaged Electron application

    forgeConfig: ResolvedForgeConfig & {
        buildIdentifier?: string | {};
        hooks?: {
            generateAssets?: {};
            packageAfterCopy?: {};
            packageAfterExtract?: {};
            packageAfterPrune?: {};
            postMake?: {};
            postPackage?: {};
            postStart?: {};
            preMake?: {};
            prePackage?: {};
            preStart?: {};
            readPackageJson?: {};
            resolveForgeConfig?: {};
        };
        makers: readonly (
            | {
                config: any;
                enabled?: boolean;
                name: string;
                platforms?: readonly string[]
                | null;
            }
            | { platforms?: readonly string[] }
        )[];
        outDir?: string;
        packagerConfig: {
            afterAsar?: readonly {}[];
            afterComplete?: readonly {}[];
            afterCopy?: readonly {}[];
            afterCopyExtraResources?: readonly {}[];
            afterExtract?: readonly {}[];
            afterFinalizePackageTargets?: readonly {}[];
            afterInitialize?: readonly {}[];
            afterPrune?: readonly {}[];
            all?: boolean;
            appBundleId?: string;
            appCategoryType?: string;
            appCopyright?: string;
            appVersion?: string;
            asar?:
                | boolean
                | {
                    dot?: boolean;
                    globOptions?: {
                        absolute?: boolean;
                        allowWindowsEscape?: boolean;
                        cache?: {
                            readonly [key: string]: boolean
                            | readonly (...)[]
                            | "DIR"
                            | "FILE";
                        };
                        cwd?: string;
                        debug?: boolean;
                        dot?: boolean;
                        flipNegate?: boolean;
                        follow?: boolean;
                        fs?: {
                            access: { __promisify__: {} };
                            accessSync: {};
                            appendFile: { __promisify__: {} };
                            appendFileSync: {};
                            chmod: { __promisify__: {} };
                            chmodSync: {};
                            chown: { __promisify__: {} };
                            chownSync: {};
                            close: { __promisify__: {} };
                            closeSync: {};
                            constants: {
                                COPYFILE_EXCL: number;
                                COPYFILE_FICLONE: number;
                                COPYFILE_FICLONE_FORCE: number;
                                F_OK: number;
                                O_APPEND: number;
                                O_CREAT: number;
                                O_DIRECT: number;
                                O_DIRECTORY: number;
                                O_DSYNC: number;
                                O_EXCL: number;
                                O_NOATIME: number;
                                O_NOCTTY: number;
                                O_NOFOLLOW: number;
                                O_NONBLOCK: number;
                                O_RDONLY: number;
                                O_RDWR: number;
                                O_SYMLINK: number;
                                O_SYNC: number;
                                O_TRUNC: number;
                                O_WRONLY: number;
                                R_OK: number;
                                S_IFBLK: number;
                                S_IFCHR: number;
                                S_IFDIR: number;
                                S_IFIFO: number;
                                S_IFLNK: number;
                                S_IFMT: number;
                                S_IFREG: number;
                                S_IFSOCK: number;
                                S_IRGRP: number;
                                S_IROTH: number;
                                S_IRUSR: number;
                                S_IRWXG: number;
                                S_IRWXO: number;
                                S_IRWXU: number;
                                S_IWGRP: number;
                                S_IWOTH: number;
                                S_IWUSR: number;
                                S_IXGRP: number;
                                S_IXOTH: number;
                                S_IXUSR: number;
                                UV_FS_O_FILEMAP: number;
                                W_OK: number;
                                X_OK: number;
                            };
                            copyFile: { __promisify__: {} };
                            copyFileSync: {};
                            cp: {};
                            cpSync: {};
                            createReadStream: {};
                            createWriteStream: {};
                            Dir: {
                                prototype: {
                                    "[asyncDispose]": ...;
                                    "[asyncIterator]": ...;
                                    "[dispose]": ...;
                                    close: ...;
                                    closeSync: ...;
                                    path: ...;
                                    read: ...;
                                    readSync: ...;
                                };
                            };
                            Dirent: {
                                prototype: {
                                    isBlockDevice: ...;
                                    isCharacterDevice: ...;
                                    isDirectory: ...;
                                    isFIFO: ...;
                                    isFile: ...;
                                    isSocket: ...;
                                    isSymbolicLink: ...;
                                    name: ...;
                                    parentPath: ...;
                                    path: ...;
                                };
                            };
                            exists: { __promisify__: {} };
                            existsSync: {};
                            fchmod: { __promisify__: {} };
                            fchmodSync: {};
                            fchown: { __promisify__: {} };
                            fchownSync: {};
                            fdatasync: { __promisify__: {} };
                            fdatasyncSync: {};
                            fstat: { __promisify__: {} };
                            fstatSync: {};
                            fsync: { __promisify__: {} };
                            fsyncSync: {};
                            ftruncate: { __promisify__: {} };
                            ftruncateSync: {};
                            futimes: { __promisify__: {} };
                            futimesSync: {};
                            glob: {};
                            globSync: {};
                            lchmod: { __promisify__: {} };
                            lchmodSync: {};
                            lchown: { __promisify__: {} };
                            lchownSync: {};
                            link: { __promisify__: {} };
                            linkSync: {};
                            lstat: { __promisify__: {} };
                            lstatSync: {
                                "[hasInstance]": {};
                                apply: {};
                                arguments: any;
                                bind: {};
                                call: {};
                                caller: {
                                    "[hasInstance]": ...;
                                    apply: ...;
                                    arguments: ...;
                                    bind: ...;
                                    call: ...;
                                    caller: ...;
                                    length: ...;
                                    name: ...;
                                    prototype: ...;
                                    toString: ...;
                                };
                                length: number;
                                name: string;
                                prototype: any;
                                toString: {};
                            };
                            lutimes: { __promisify__: {} };
                            lutimesSync: {};
                            mkdir: { __promisify__: {} };
                            mkdirSync: {};
                            mkdtemp: { __promisify__: {} };
                            mkdtempSync: {};
                            open: { __promisify__: {} };
                            openAsBlob: {};
                            opendir: { __promisify__: {} };
                            opendirSync: {};
                            openSync: {};
                            promises: {
                                access: {};
                                appendFile: {};
                                chmod: {};
                                chown: {};
                                constants: {
                                    COPYFILE_EXCL: ...;
                                    COPYFILE_FICLONE: ...;
                                    COPYFILE_FICLONE_FORCE: ...;
                                    F_OK: ...;
                                    O_APPEND: ...;
                                    O_CREAT: ...;
                                    O_DIRECT: ...;
                                    O_DIRECTORY: ...;
                                    O_DSYNC: ...;
                                    O_EXCL: ...;
                                    O_NOATIME: ...;
                                    O_NOCTTY: ...;
                                    O_NOFOLLOW: ...;
                                    O_NONBLOCK: ...;
                                    O_RDONLY: ...;
                                    O_RDWR: ...;
                                    O_SYMLINK: ...;
                                    O_SYNC: ...;
                                    O_TRUNC: ...;
                                    O_WRONLY: ...;
                                    R_OK: ...;
                                    S_IFBLK: ...;
                                    S_IFCHR: ...;
                                    S_IFDIR: ...;
                                    S_IFIFO: ...;
                                    S_IFLNK: ...;
                                    S_IFMT: ...;
                                    S_IFREG: ...;
                                    S_IFSOCK: ...;
                                    S_IRGRP: ...;
                                    S_IROTH: ...;
                                    S_IRUSR: ...;
                                    S_IRWXG: ...;
                                    S_IRWXO: ...;
                                    S_IRWXU: ...;
                                    S_IWGRP: ...;
                                    S_IWOTH: ...;
                                    S_IWUSR: ...;
                                    S_IXGRP: ...;
                                    S_IXOTH: ...;
                                    S_IXUSR: ...;
                                    UV_FS_O_FILEMAP: ...;
                                    W_OK: ...;
                                    X_OK: ...;
                                };
                                copyFile: {};
                                cp: {};
                                glob: {};
                                lchmod: {};
                                lchown: {};
                                link: {};
                                lstat: {};
                                lutimes: {};
                                mkdir: {};
                                mkdtemp: {};
                                open: {};
                                opendir: {};
                                readdir: {};
                                readFile: {};
                                readlink: {};
                                realpath: {};
                                rename: {};
                                rm: {};
                                rmdir: {};
                                stat: {};
                                statfs: {};
                                symlink: {};
                                truncate: {};
                                unlink: {};
                                utimes: {};
                                watch: {};
                                writeFile: {};
                            };
                            read: { __promisify__: {} };
                            readdir: { __promisify__: {} };
                            readdirSync: {};
                            readFile: { __promisify__: {} };
                            readFileSync: {};
                            readlink: { __promisify__: {} };
                            readlinkSync: {};
                            ReadStream: {
                                addAbortListener: {};
                                addAbortSignal: {};
                                captureRejections: boolean;
                                captureRejectionSymbol: typeof captureRejectionSymbol;
                                defaultMaxListeners: number;
                                Duplex: {
                                    addAbortListener: ...;
                                    addAbortSignal: ...;
                                    captureRejections: ...;
                                    captureRejectionSymbol: ...;
                                    defaultMaxListeners: ...;
                                    Duplex: ...;
                                    duplexPair: ...;
                                    errorMonitor: ...;
                                    EventEmitter: ...;
                                    EventEmitterAsyncResource: ...;
                                    finished: ...;
                                    from: ...;
                                    fromWeb: ...;
                                    getDefaultHighWaterMark: ...;
                                    getEventListeners: ...;
                                    getMaxListeners: ...;
                                    isErrored: ...;
                                    isReadable: ...;
                                    isWritable: ...;
                                    listenerCount: ...;
                                    on: ...;
                                    once: ...;
                                    PassThrough: ...;
                                    pipeline: ...;
                                    promises: ...;
                                    prototype: ...;
                                    Readable: ...;
                                    setDefaultHighWaterMark: ...;
                                    setMaxListeners: ...;
                                    Stream: ...;
                                    toWeb: ...;
                                    Transform: ...;
                                    Writable: ...;
                                };
                                duplexPair: {};
                                errorMonitor: typeof errorMonitor;
                                EventEmitter: {
                                    addAbortListener: ...;
                                    captureRejections: ...;
                                    captureRejectionSymbol: ...;
                                    defaultMaxListeners: ...;
                                    errorMonitor: ...;
                                    EventEmitter: ...;
                                    EventEmitterAsyncResource: ...;
                                    getEventListeners: ...;
                                    getMaxListeners: ...;
                                    listenerCount: ...;
                                    on: ...;
                                    once: ...;
                                    prototype: ...;
                                    setMaxListeners: ...;
                                };
                                EventEmitterAsyncResource: {
                                    addAbortListener: ...;
                                    captureRejections: ...;
                                    captureRejectionSymbol: ...;
                                    defaultMaxListeners: ...;
                                    errorMonitor: ...;
                                    EventEmitter: ...;
                                    EventEmitterAsyncResource: ...;
                                    getEventListeners: ...;
                                    getMaxListeners: ...;
                                    listenerCount: ...;
                                    on: ...;
                                    once: ...;
                                    prototype: ...;
                                    setMaxListeners: ...;
                                };
                                finished: { __promisify__: ... };
                                from: {};
                                fromWeb: {};
                                getDefaultHighWaterMark: {};
                                getEventListeners: {};
                                getMaxListeners: {};
                                isDisturbed: {};
                                isErrored: {};
                                isReadable: {};
                                isWritable: {};
                                listenerCount: {};
                                on: {};
                                once: {};
                                PassThrough: {
                                    addAbortListener: ...;
                                    addAbortSignal: ...;
                                    captureRejections: ...;
                                    captureRejectionSymbol: ...;
                                    defaultMaxListeners: ...;
                                    Duplex: ...;
                                    duplexPair: ...;
                                    errorMonitor: ...;
                                    EventEmitter: ...;
                                    EventEmitterAsyncResource: ...;
                                    finished: ...;
                                    from: ...;
                                    fromWeb: ...;
                                    getDefaultHighWaterMark: ...;
                                    getEventListeners: ...;
                                    getMaxListeners: ...;
                                    isErrored: ...;
                                    isReadable: ...;
                                    isWritable: ...;
                                    listenerCount: ...;
                                    on: ...;
                                    once: ...;
                                    PassThrough: ...;
                                    pipeline: ...;
                                    promises: ...;
                                    prototype: ...;
                                    Readable: ...;
                                    setDefaultHighWaterMark: ...;
                                    setMaxListeners: ...;
                                    Stream: ...;
                                    toWeb: ...;
                                    Transform: ...;
                                    Writable: ...;
                                };
                                pipeline: { __promisify__: ... };
                                promises: { finished: ...; pipeline: ... };
                                prototype: {
                                    _construct?: ...;
                                    _destroy: ...;
                                    _read: ...;
                                    "[asyncDispose]": ...;
                                    "[asyncIterator]": ...;
                                    "[captureRejectionSymbol]"?: ...;
                                    addListener: ...;
                                    asIndexedPairs: ...;
                                    bytesRead: ...;
                                    close: ...;
                                    closed: ...;
                                    compose: ...;
                                    destroy: ...;
                                    destroyed: ...;
                                    drop: ...;
                                    emit: ...;
                                    errored: ...;
                                    eventNames: ...;
                                    every: ...;
                                    filter: ...;
                                    find: ...;
                                    flatMap: ...;
                                    forEach: ...;
                                    getMaxListeners: ...;
                                    isPaused: ...;
                                    iterator: ...;
                                    listenerCount: ...;
                                    listeners: ...;
                                    map: ...;
                                    off: ...;
                                    on: ...;
                                    once: ...;
                                    path: ...;
                                    pause: ...;
                                    pending: ...;
                                    pipe: ...;
                                    prependListener: ...;
                                    prependOnceListener: ...;
                                    push: ...;
                                    rawListeners: ...;
                                    read: ...;
                                    readable: ...;
                                    readableAborted: ...;
                                    readableDidRead: ...;
                                    readableEncoding: ...;
                                    readableEnded: ...;
                                    readableFlowing: ...;
                                    readableHighWaterMark: ...;
                                    readableLength: ...;
                                    readableObjectMode: ...;
                                    reduce: ...;
                                    removeAllListeners: ...;
                                    removeListener: ...;
                                    resume: ...;
                                    setEncoding: ...;
                                    setMaxListeners: ...;
                                    some: ...;
                                    take: ...;
                                    toArray: ...;
                                    unpipe: ...;
                                    unshift: ...;
                                    wrap: ...;
                                };
                                Readable: {
                                    addAbortListener: ...;
                                    addAbortSignal: ...;
                                    captureRejections: ...;
                                    captureRejectionSymbol: ...;
                                    defaultMaxListeners: ...;
                                    Duplex: ...;
                                    duplexPair: ...;
                                    errorMonitor: ...;
                                    EventEmitter: ...;
                                    EventEmitterAsyncResource: ...;
                                    finished: ...;
                                    from: ...;
                                    fromWeb: ...;
                                    getDefaultHighWaterMark: ...;
                                    getEventListeners: ...;
                                    getMaxListeners: ...;
                                    isDisturbed: ...;
                                    isErrored: ...;
                                    isReadable: ...;
                                    isWritable: ...;
                                    listenerCount: ...;
                                    on: ...;
                                    once: ...;
                                    PassThrough: ...;
                                    pipeline: ...;
                                    promises: ...;
                                    prototype: ...;
                                    Readable: ...;
                                    setDefaultHighWaterMark: ...;
                                    setMaxListeners: ...;
                                    Stream: ...;
                                    toWeb: ...;
                                    Transform: ...;
                                    Writable: ...;
                                };
                                setDefaultHighWaterMark: {};
                                setMaxListeners: {};
                                Stream: {
                                    addAbortListener: ...;
                                    addAbortSignal: ...;
                                    captureRejections: ...;
                                    captureRejectionSymbol: ...;
                                    defaultMaxListeners: ...;
                                    Duplex: ...;
                                    duplexPair: ...;
                                    errorMonitor: ...;
                                    EventEmitter: ...;
                                    EventEmitterAsyncResource: ...;
                                    finished: ...;
                                    getDefaultHighWaterMark: ...;
                                    getEventListeners: ...;
                                    getMaxListeners: ...;
                                    isErrored: ...;
                                    isReadable: ...;
                                    isWritable: ...;
                                    listenerCount: ...;
                                    on: ...;
                                    once: ...;
                                    PassThrough: ...;
                                    pipeline: ...;
                                    promises: ...;
                                    prototype: ...;
                                    Readable: ...;
                                    setDefaultHighWaterMark: ...;
                                    setMaxListeners: ...;
                                    Stream: ...;
                                    Transform: ...;
                                    Writable: ...;
                                };
                                toWeb: {};
                                Transform: {
                                    addAbortListener: ...;
                                    addAbortSignal: ...;
                                    captureRejections: ...;
                                    captureRejectionSymbol: ...;
                                    defaultMaxListeners: ...;
                                    Duplex: ...;
                                    duplexPair: ...;
                                    errorMonitor: ...;
                                    EventEmitter: ...;
                                    EventEmitterAsyncResource: ...;
                                    finished: ...;
                                    from: ...;
                                    fromWeb: ...;
                                    getDefaultHighWaterMark: ...;
                                    getEventListeners: ...;
                                    getMaxListeners: ...;
                                    isErrored: ...;
                                    isReadable: ...;
                                    isWritable: ...;
                                    listenerCount: ...;
                                    on: ...;
                                    once: ...;
                                    PassThrough: ...;
                                    pipeline: ...;
                                    promises: ...;
                                    prototype: ...;
                                    Readable: ...;
                                    setDefaultHighWaterMark: ...;
                                    setMaxListeners: ...;
                                    Stream: ...;
                                    toWeb: ...;
                                    Transform: ...;
                                    Writable: ...;
                                };
                                Writable: {
                                    addAbortListener: ...;
                                    addAbortSignal: ...;
                                    captureRejections: ...;
                                    captureRejectionSymbol: ...;
                                    defaultMaxListeners: ...;
                                    Duplex: ...;
                                    duplexPair: ...;
                                    errorMonitor: ...;
                                    EventEmitter: ...;
                                    EventEmitterAsyncResource: ...;
                                    finished: ...;
                                    fromWeb: ...;
                                    getDefaultHighWaterMark: ...;
                                    getEventListeners: ...;
                                    getMaxListeners: ...;
                                    isErrored: ...;
                                    isReadable: ...;
                                    isWritable: ...;
                                    listenerCount: ...;
                                    on: ...;
                                    once: ...;
                                    PassThrough: ...;
                                    pipeline: ...;
                                    promises: ...;
                                    prototype: ...;
                                    Readable: ...;
                                    setDefaultHighWaterMark: ...;
                                    setMaxListeners: ...;
                                    Stream: ...;
                                    toWeb: ...;
                                    Transform: ...;
                                    Writable: ...;
                                };
                            };
                            readSync: {};
                            readv: { __promisify__: {} };
                            readvSync: {};
                            realpath: { __promisify__: {}; native: {} };
                            realpathSync: { native: {} };
                            rename: { __promisify__: {} };
                            renameSync: {};
                            rm: { __promisify__: {} };
                            rmdir: { __promisify__: {} };
                            rmdirSync: {};
                            rmSync: {};
                            stat: { __promisify__: {} };
                            statfs: { __promisify__: {} };
                            statfsSync: {};
                            Stats: {
                                prototype: {
                                    atime: ...;
                                    atimeMs: ...;
                                    birthtime: ...;
                                    birthtimeMs: ...;
                                    blksize: ...;
                                    blocks: ...;
                                    ctime: ...;
                                    ctimeMs: ...;
                                    dev: ...;
                                    gid: ...;
                                    ino: ...;
                                    isBlockDevice: ...;
                                    isCharacterDevice: ...;
                                    isDirectory: ...;
                                    isFIFO: ...;
                                    isFile: ...;
                                    isSocket: ...;
                                    isSymbolicLink: ...;
                                    mode: ...;
                                    mtime: ...;
                                    mtimeMs: ...;
                                    nlink: ...;
                                    rdev: ...;
                                    size: ...;
                                    uid: ...;
                                };
                            };
                            StatsFs: {
                                prototype: {
                                    bavail: ...;
                                    bfree: ...;
                                    blocks: ...;
                                    bsize: ...;
                                    ffree: ...;
                                    files: ...;
                                    type: ...;
                                };
                            };
                            statSync: {
                                "[hasInstance]": {};
                                apply: {};
                                arguments: any;
                                bind: {};
                                call: {};
                                caller: {
                                    "[hasInstance]": ...;
                                    apply: ...;
                                    arguments: ...;
                                    bind: ...;
                                    call: ...;
                                    caller: ...;
                                    length: ...;
                                    name: ...;
                                    prototype: ...;
                                    toString: ...;
                                };
                                length: number;
                                name: string;
                                prototype: any;
                                toString: {};
                            };
                            symlink: { __promisify__: {} };
                            symlinkSync: {};
                            truncate: { __promisify__: {} };
                            truncateSync: {};
                            unlink: { __promisify__: {} };
                            unlinkSync: {};
                            unwatchFile: {};
                            utimes: { __promisify__: {} };
                            utimesSync: {};
                            watch: {};
                            watchFile: {};
                            write: { __promisify__: {} };
                            writeFile: { __promisify__: {} };
                            writeFileSync: {};
                            WriteStream: {
                                addAbortListener: {};
                                addAbortSignal: {};
                                captureRejections: boolean;
                                captureRejectionSymbol: typeof captureRejectionSymbol;
                                defaultMaxListeners: number;
                                Duplex: {
                                    addAbortListener: ...;
                                    addAbortSignal: ...;
                                    captureRejections: ...;
                                    captureRejectionSymbol: ...;
                                    defaultMaxListeners: ...;
                                    Duplex: ...;
                                    duplexPair: ...;
                                    errorMonitor: ...;
                                    EventEmitter: ...;
                                    EventEmitterAsyncResource: ...;
                                    finished: ...;
                                    from: ...;
                                    fromWeb: ...;
                                    getDefaultHighWaterMark: ...;
                                    getEventListeners: ...;
                                    getMaxListeners: ...;
                                    isErrored: ...;
                                    isReadable: ...;
                                    isWritable: ...;
                                    listenerCount: ...;
                                    on: ...;
                                    once: ...;
                                    PassThrough: ...;
                                    pipeline: ...;
                                    promises: ...;
                                    prototype: ...;
                                    Readable: ...;
                                    setDefaultHighWaterMark: ...;
                                    setMaxListeners: ...;
                                    Stream: ...;
                                    toWeb: ...;
                                    Transform: ...;
                                    Writable: ...;
                                };
                                duplexPair: {};
                                errorMonitor: typeof errorMonitor;
                                EventEmitter: {
                                    addAbortListener: ...;
                                    captureRejections: ...;
                                    captureRejectionSymbol: ...;
                                    defaultMaxListeners: ...;
                                    errorMonitor: ...;
                                    EventEmitter: ...;
                                    EventEmitterAsyncResource: ...;
                                    getEventListeners: ...;
                                    getMaxListeners: ...;
                                    listenerCount: ...;
                                    on: ...;
                                    once: ...;
                                    prototype: ...;
                                    setMaxListeners: ...;
                                };
                                EventEmitterAsyncResource: {
                                    addAbortListener: ...;
                                    captureRejections: ...;
                                    captureRejectionSymbol: ...;
                                    defaultMaxListeners: ...;
                                    errorMonitor: ...;
                                    EventEmitter: ...;
                                    EventEmitterAsyncResource: ...;
                                    getEventListeners: ...;
                                    getMaxListeners: ...;
                                    listenerCount: ...;
                                    on: ...;
                                    once: ...;
                                    prototype: ...;
                                    setMaxListeners: ...;
                                };
                                finished: { __promisify__: ... };
                                fromWeb: {};
                                getDefaultHighWaterMark: {};
                                getEventListeners: {};
                                getMaxListeners: {};
                                isErrored: {};
                                isReadable: {};
                                isWritable: {};
                                listenerCount: {};
                                on: {};
                                once: {};
                                PassThrough: {
                                    addAbortListener: ...;
                                    addAbortSignal: ...;
                                    captureRejections: ...;
                                    captureRejectionSymbol: ...;
                                    defaultMaxListeners: ...;
                                    Duplex: ...;
                                    duplexPair: ...;
                                    errorMonitor: ...;
                                    EventEmitter: ...;
                                    EventEmitterAsyncResource: ...;
                                    finished: ...;
                                    from: ...;
                                    fromWeb: ...;
                                    getDefaultHighWaterMark: ...;
                                    getEventListeners: ...;
                                    getMaxListeners: ...;
                                    isErrored: ...;
                                    isReadable: ...;
                                    isWritable: ...;
                                    listenerCount: ...;
                                    on: ...;
                                    once: ...;
                                    PassThrough: ...;
                                    pipeline: ...;
                                    promises: ...;
                                    prototype: ...;
                                    Readable: ...;
                                    setDefaultHighWaterMark: ...;
                                    setMaxListeners: ...;
                                    Stream: ...;
                                    toWeb: ...;
                                    Transform: ...;
                                    Writable: ...;
                                };
                                pipeline: { __promisify__: ... };
                                promises: { finished: ...; pipeline: ... };
                                prototype: {
                                    _construct?: ...;
                                    _destroy: ...;
                                    _final: ...;
                                    _write: ...;
                                    _writev?: ...;
                                    "[captureRejectionSymbol]"?: ...;
                                    addListener: ...;
                                    bytesWritten: ...;
                                    close: ...;
                                    closed: ...;
                                    compose: ...;
                                    cork: ...;
                                    destroy: ...;
                                    destroyed: ...;
                                    emit: ...;
                                    end: ...;
                                    errored: ...;
                                    eventNames: ...;
                                    getMaxListeners: ...;
                                    listenerCount: ...;
                                    listeners: ...;
                                    off: ...;
                                    on: ...;
                                    once: ...;
                                    path: ...;
                                    pending: ...;
                                    pipe: ...;
                                    prependListener: ...;
                                    prependOnceListener: ...;
                                    rawListeners: ...;
                                    removeAllListeners: ...;
                                    removeListener: ...;
                                    setDefaultEncoding: ...;
                                    setMaxListeners: ...;
                                    uncork: ...;
                                    writable: ...;
                                    writableAborted: ...;
                                    writableCorked: ...;
                                    writableEnded: ...;
                                    writableFinished: ...;
                                    writableHighWaterMark: ...;
                                    writableLength: ...;
                                    writableNeedDrain: ...;
                                    writableObjectMode: ...;
                                    write: ...;
                                };
                                Readable: {
                                    addAbortListener: ...;
                                    addAbortSignal: ...;
                                    captureRejections: ...;
                                    captureRejectionSymbol: ...;
                                    defaultMaxListeners: ...;
                                    Duplex: ...;
                                    duplexPair: ...;
                                    errorMonitor: ...;
                                    EventEmitter: ...;
                                    EventEmitterAsyncResource: ...;
                                    finished: ...;
                                    from: ...;
                                    fromWeb: ...;
                                    getDefaultHighWaterMark: ...;
                                    getEventListeners: ...;
                                    getMaxListeners: ...;
                                    isDisturbed: ...;
                                    isErrored: ...;
                                    isReadable: ...;
                                    isWritable: ...;
                                    listenerCount: ...;
                                    on: ...;
                                    once: ...;
                                    PassThrough: ...;
                                    pipeline: ...;
                                    promises: ...;
                                    prototype: ...;
                                    Readable: ...;
                                    setDefaultHighWaterMark: ...;
                                    setMaxListeners: ...;
                                    Stream: ...;
                                    toWeb: ...;
                                    Transform: ...;
                                    Writable: ...;
                                };
                                setDefaultHighWaterMark: {};
                                setMaxListeners: {};
                                Stream: {
                                    addAbortListener: ...;
                                    addAbortSignal: ...;
                                    captureRejections: ...;
                                    captureRejectionSymbol: ...;
                                    defaultMaxListeners: ...;
                                    Duplex: ...;
                                    duplexPair: ...;
                                    errorMonitor: ...;
                                    EventEmitter: ...;
                                    EventEmitterAsyncResource: ...;
                                    finished: ...;
                                    getDefaultHighWaterMark: ...;
                                    getEventListeners: ...;
                                    getMaxListeners: ...;
                                    isErrored: ...;
                                    isReadable: ...;
                                    isWritable: ...;
                                    listenerCount: ...;
                                    on: ...;
                                    once: ...;
                                    PassThrough: ...;
                                    pipeline: ...;
                                    promises: ...;
                                    prototype: ...;
                                    Readable: ...;
                                    setDefaultHighWaterMark: ...;
                                    setMaxListeners: ...;
                                    Stream: ...;
                                    Transform: ...;
                                    Writable: ...;
                                };
                                toWeb: {};
                                Transform: {
                                    addAbortListener: ...;
                                    addAbortSignal: ...;
                                    captureRejections: ...;
                                    captureRejectionSymbol: ...;
                                    defaultMaxListeners: ...;
                                    Duplex: ...;
                                    duplexPair: ...;
                                    errorMonitor: ...;
                                    EventEmitter: ...;
                                    EventEmitterAsyncResource: ...;
                                    finished: ...;
                                    from: ...;
                                    fromWeb: ...;
                                    getDefaultHighWaterMark: ...;
                                    getEventListeners: ...;
                                    getMaxListeners: ...;
                                    isErrored: ...;
                                    isReadable: ...;
                                    isWritable: ...;
                                    listenerCount: ...;
                                    on: ...;
                                    once: ...;
                                    PassThrough: ...;
                                    pipeline: ...;
                                    promises: ...;
                                    prototype: ...;
                                    Readable: ...;
                                    setDefaultHighWaterMark: ...;
                                    setMaxListeners: ...;
                                    Stream: ...;
                                    toWeb: ...;
                                    Transform: ...;
                                    Writable: ...;
                                };
                                Writable: {
                                    addAbortListener: ...;
                                    addAbortSignal: ...;
                                    captureRejections: ...;
                                    captureRejectionSymbol: ...;
                                    defaultMaxListeners: ...;
                                    Duplex: ...;
                                    duplexPair: ...;
                                    errorMonitor: ...;
                                    EventEmitter: ...;
                                    EventEmitterAsyncResource: ...;
                                    finished: ...;
                                    fromWeb: ...;
                                    getDefaultHighWaterMark: ...;
                                    getEventListeners: ...;
                                    getMaxListeners: ...;
                                    isErrored: ...;
                                    isReadable: ...;
                                    isWritable: ...;
                                    listenerCount: ...;
                                    on: ...;
                                    once: ...;
                                    PassThrough: ...;
                                    pipeline: ...;
                                    promises: ...;
                                    prototype: ...;
                                    Readable: ...;
                                    setDefaultHighWaterMark: ...;
                                    setMaxListeners: ...;
                                    Stream: ...;
                                    toWeb: ...;
                                    Transform: ...;
                                    Writable: ...;
                                };
                            };
                            writeSync: {};
                            writev: { __promisify__: {} };
                            writevSync: {};
                        };
                        ignore?: string
                        | readonly string[];
                        mark?: boolean;
                        matchBase?: any;
                        nobrace?: boolean;
                        nocase?: boolean;
                        nocomment?: boolean;
                        nodir?: boolean;
                        noext?: boolean;
                        noglobstar?: boolean;
                        nomount?: boolean;
                        nonegate?: boolean;
                        nonull?: boolean;
                        nosort?: boolean;
                        nounique?: boolean;
                        partial?: boolean;
                        realpath?: boolean;
                        realpathCache?: { readonly [key: string]: string };
                        root?: string;
                        silent?: boolean;
                        stat?: boolean;
                        statCache?: {
                            readonly [key: string]: false | { isDirectory: ... } | undefined;
                        };
                        strict?: boolean;
                        symlinks?: { readonly [key: string]: boolean
                        | undefined };
                        sync?: boolean;
                        windowsPathsNoEscape?: boolean;
                    };
                    ordering?: string;
                    pattern?: string;
                    transform?: {};
                    unpack?: string;
                    unpackDir?: string;
                };
            beforeAsar?: readonly {}[];
            beforeCopy?: readonly {}[];
            beforeCopyExtraResources?: readonly {}[];
            buildVersion?: string;
            darwinDarkModeSupport?: boolean;
            derefSymlinks?: boolean;
            download?: {
                cacheMode?: ElectronDownloadCacheMode;
                cacheRoot?: string;
                checksums?: { readonly [key: string]: string };
                downloader?: { download: {} };
                downloadOptions?: any;
                force?: boolean;
                mirrorOptions?: {
                    customDir?: string;
                    customFilename?: string;
                    customVersion?: string;
                    mirror?: string;
                    nightly_mirror?: string;
                    nightlyMirror?: string;
                    resolveAssetURL?: {};
                };
                tempDirectory?: string;
                unsafelyDisableChecksums?: boolean;
            };
            electronZipDir?: string;
            executableName?: string;
            extendHelperInfo?: string
            | { readonly [key: string]: any };
            extendInfo?: string | { readonly [key: string]: any };
            extraResource?: string | readonly string[];
            helperBundleId?: string;
            icon?: string | readonly string[];
            ignore?:
                | {
                    "[match]": {};
                    "[matchAll]": {};
                    "[replace]": {};
                    "[search]": {};
                    "[split]": {};
                    compile: {};
                    dotAll: boolean;
                    exec: {};
                    flags: string;
                    global: boolean;
                    hasIndices: boolean;
                    ignoreCase: boolean;
                    lastIndex: number;
                    multiline: boolean;
                    source: string;
                    sticky: boolean;
                    test: {};
                    unicode: boolean;
                }
                | readonly (
                    | string
                    | {
                        "[match]": {};
                        "[matchAll]": {};
                        "[replace]": {};
                        "[search]": {};
                        "[split]": {};
                        compile: {};
                        dotAll: boolean;
                        exec: {};
                        flags: string;
                        global: boolean;
                        hasIndices: boolean;
                        ignoreCase: boolean;
                        lastIndex: number;
                        multiline: boolean;
                        source: string;
                        sticky: boolean;
                        test: {};
                        unicode: boolean;
                    }
                )[]
                | {};
            junk?: boolean;
            name?: string;
            osxNotarize?: | {
                appleId: string;
                appleIdPassword: string;
                teamId: string;
            }
            | { appleApiIssuer: string; appleApiKey: string; appleApiKeyId: string }
            | { keychain?: string; keychainProfile: string };
            osxSign?:
                | true
                | {
                    identity?: string;
                    identityValidation?: boolean;
                    ignore?: string
                    | readonly string[]
                    | {};
                    keychain?: string;
                    optionsForFile?: {};
                    preAutoEntitlements?: boolean;
                    preEmbedProvisioningProfile?: boolean;
                    provisioningProfile?: string;
                    strictVerify?: string | boolean;
                    type?: SigningDistributionType;
                };
            osxUniversal?: {
                infoPlistsToIgnore?: string;
                mergeASARs?: boolean;
                singleArchFiles?: string;
                x64ArchFiles?: string;
            };
            overwrite?: boolean;
            prebuiltAsar?: string;
            protocols?: readonly { name: string; schemes: readonly string[] }[];
            prune?: boolean;
            quiet?: boolean;
            tmpdir?: string | false;
            usageDescription?: { readonly [key: string]: string };
            win32metadata?: {
                "application-manifest"?: string;
                CompanyName?: string;
                FileDescription?: string;
                InternalName?: string;
                OriginalFilename?: string;
                ProductName?: string;
                "requested-execution-level"?:
                    | "asInvoker"
                    | "highestAvailable"
                    | "requireAdministrator";
            };
            windowsSign?: | true
            | {
                automaticallySelectCertificate?: boolean;
                certificateFile?: string;
                certificatePassword?: string;
                continueOnError?: boolean;
                debug?: boolean;
                description?: string;
                hashes?: readonly HASHES[];
                hookFunction?: {};
                hookModulePath?: string;
                signJavaScript?: boolean;
                signToolPath?: string;
                signWithParams?: string
                | readonly string[];
                timestampServer?: string;
                website?: string;
            };
        };
        plugins: readonly (
            | { config?: any; name: string }
            | { getHooks?: {}; init: {}; name: string; startLogic?: {} }
        )[];
        publishers: readonly (
            | { config?: any; name: string; platforms?: readonly string[]
            | null }
            | { platforms?: readonly string[] }
        )[];
        rebuildConfig: {
            buildFromSource?: boolean;
            cachePath?: string;
            debug?: boolean;
            disablePreGypCopy?: boolean;
            extraModules?: readonly string[];
            force?: boolean;
            forceABI?: number;
            headerURL?: string;
            ignoreModules?: readonly string[];
            jobs?: number;
            mode?: RebuildMode;
            onlyModules?: readonly string[] | null;
            platform?: Platform;
            prebuildTagPrefix?: string;
            projectRootPath?: string;
            types?: readonly ModuleType[];
            useCache?: boolean;
            useElectronClang?: boolean;
        };
    }

    Fully resolved forge configuration, you shouldn't really need this

    Type Declaration

    • Optional ReadonlybuildIdentifier?: string | {}

      A string to uniquely identify artifacts of this build, will be appended to the out dir to generate a nested directory. E.g. out/current-timestamp

      If a function is provided, it must synchronously return the buildIdentifier

    • Optional Readonlyhooks?: {
          generateAssets?: {};
          packageAfterCopy?: {};
          packageAfterExtract?: {};
          packageAfterPrune?: {};
          postMake?: {};
          postPackage?: {};
          postStart?: {};
          preMake?: {};
          prePackage?: {};
          preStart?: {};
          readPackageJson?: {};
          resolveForgeConfig?: {};
      }
    • Readonlymakers: readonly (
          | {
              config: any;
              enabled?: boolean;
              name: string;
              platforms?: readonly string[]
              | null;
          }
          | { platforms?: readonly string[] }
      )[]
    • Optional ReadonlyoutDir?: string

      Output directory. Default is './out'.

    • ReadonlypackagerConfig: {
          afterAsar?: readonly {}[];
          afterComplete?: readonly {}[];
          afterCopy?: readonly {}[];
          afterCopyExtraResources?: readonly {}[];
          afterExtract?: readonly {}[];
          afterFinalizePackageTargets?: readonly {}[];
          afterInitialize?: readonly {}[];
          afterPrune?: readonly {}[];
          all?: boolean;
          appBundleId?: string;
          appCategoryType?: string;
          appCopyright?: string;
          appVersion?: string;
          asar?:
              | boolean
              | {
                  dot?: boolean;
                  globOptions?: {
                      absolute?: boolean;
                      allowWindowsEscape?: boolean;
                      cache?: {
                          readonly [key: string]: boolean
                          | readonly (...)[]
                          | "DIR"
                          | "FILE";
                      };
                      cwd?: string;
                      debug?: boolean;
                      dot?: boolean;
                      flipNegate?: boolean;
                      follow?: boolean;
                      fs?: {
                          access: { __promisify__: {} };
                          accessSync: {};
                          appendFile: { __promisify__: {} };
                          appendFileSync: {};
                          chmod: { __promisify__: {} };
                          chmodSync: {};
                          chown: { __promisify__: {} };
                          chownSync: {};
                          close: { __promisify__: {} };
                          closeSync: {};
                          constants: {
                              COPYFILE_EXCL: number;
                              COPYFILE_FICLONE: number;
                              COPYFILE_FICLONE_FORCE: number;
                              F_OK: number;
                              O_APPEND: number;
                              O_CREAT: number;
                              O_DIRECT: number;
                              O_DIRECTORY: number;
                              O_DSYNC: number;
                              O_EXCL: number;
                              O_NOATIME: number;
                              O_NOCTTY: number;
                              O_NOFOLLOW: number;
                              O_NONBLOCK: number;
                              O_RDONLY: number;
                              O_RDWR: number;
                              O_SYMLINK: number;
                              O_SYNC: number;
                              O_TRUNC: number;
                              O_WRONLY: number;
                              R_OK: number;
                              S_IFBLK: number;
                              S_IFCHR: number;
                              S_IFDIR: number;
                              S_IFIFO: number;
                              S_IFLNK: number;
                              S_IFMT: number;
                              S_IFREG: number;
                              S_IFSOCK: number;
                              S_IRGRP: number;
                              S_IROTH: number;
                              S_IRUSR: number;
                              S_IRWXG: number;
                              S_IRWXO: number;
                              S_IRWXU: number;
                              S_IWGRP: number;
                              S_IWOTH: number;
                              S_IWUSR: number;
                              S_IXGRP: number;
                              S_IXOTH: number;
                              S_IXUSR: number;
                              UV_FS_O_FILEMAP: number;
                              W_OK: number;
                              X_OK: number;
                          };
                          copyFile: { __promisify__: {} };
                          copyFileSync: {};
                          cp: {};
                          cpSync: {};
                          createReadStream: {};
                          createWriteStream: {};
                          Dir: {
                              prototype: {
                                  "[asyncDispose]": ...;
                                  "[asyncIterator]": ...;
                                  "[dispose]": ...;
                                  close: ...;
                                  closeSync: ...;
                                  path: ...;
                                  read: ...;
                                  readSync: ...;
                              };
                          };
                          Dirent: {
                              prototype: {
                                  isBlockDevice: ...;
                                  isCharacterDevice: ...;
                                  isDirectory: ...;
                                  isFIFO: ...;
                                  isFile: ...;
                                  isSocket: ...;
                                  isSymbolicLink: ...;
                                  name: ...;
                                  parentPath: ...;
                                  path: ...;
                              };
                          };
                          exists: { __promisify__: {} };
                          existsSync: {};
                          fchmod: { __promisify__: {} };
                          fchmodSync: {};
                          fchown: { __promisify__: {} };
                          fchownSync: {};
                          fdatasync: { __promisify__: {} };
                          fdatasyncSync: {};
                          fstat: { __promisify__: {} };
                          fstatSync: {};
                          fsync: { __promisify__: {} };
                          fsyncSync: {};
                          ftruncate: { __promisify__: {} };
                          ftruncateSync: {};
                          futimes: { __promisify__: {} };
                          futimesSync: {};
                          glob: {};
                          globSync: {};
                          lchmod: { __promisify__: {} };
                          lchmodSync: {};
                          lchown: { __promisify__: {} };
                          lchownSync: {};
                          link: { __promisify__: {} };
                          linkSync: {};
                          lstat: { __promisify__: {} };
                          lstatSync: {
                              "[hasInstance]": {};
                              apply: {};
                              arguments: any;
                              bind: {};
                              call: {};
                              caller: {
                                  "[hasInstance]": ...;
                                  apply: ...;
                                  arguments: ...;
                                  bind: ...;
                                  call: ...;
                                  caller: ...;
                                  length: ...;
                                  name: ...;
                                  prototype: ...;
                                  toString: ...;
                              };
                              length: number;
                              name: string;
                              prototype: any;
                              toString: {};
                          };
                          lutimes: { __promisify__: {} };
                          lutimesSync: {};
                          mkdir: { __promisify__: {} };
                          mkdirSync: {};
                          mkdtemp: { __promisify__: {} };
                          mkdtempSync: {};
                          open: { __promisify__: {} };
                          openAsBlob: {};
                          opendir: { __promisify__: {} };
                          opendirSync: {};
                          openSync: {};
                          promises: {
                              access: {};
                              appendFile: {};
                              chmod: {};
                              chown: {};
                              constants: {
                                  COPYFILE_EXCL: ...;
                                  COPYFILE_FICLONE: ...;
                                  COPYFILE_FICLONE_FORCE: ...;
                                  F_OK: ...;
                                  O_APPEND: ...;
                                  O_CREAT: ...;
                                  O_DIRECT: ...;
                                  O_DIRECTORY: ...;
                                  O_DSYNC: ...;
                                  O_EXCL: ...;
                                  O_NOATIME: ...;
                                  O_NOCTTY: ...;
                                  O_NOFOLLOW: ...;
                                  O_NONBLOCK: ...;
                                  O_RDONLY: ...;
                                  O_RDWR: ...;
                                  O_SYMLINK: ...;
                                  O_SYNC: ...;
                                  O_TRUNC: ...;
                                  O_WRONLY: ...;
                                  R_OK: ...;
                                  S_IFBLK: ...;
                                  S_IFCHR: ...;
                                  S_IFDIR: ...;
                                  S_IFIFO: ...;
                                  S_IFLNK: ...;
                                  S_IFMT: ...;
                                  S_IFREG: ...;
                                  S_IFSOCK: ...;
                                  S_IRGRP: ...;
                                  S_IROTH: ...;
                                  S_IRUSR: ...;
                                  S_IRWXG: ...;
                                  S_IRWXO: ...;
                                  S_IRWXU: ...;
                                  S_IWGRP: ...;
                                  S_IWOTH: ...;
                                  S_IWUSR: ...;
                                  S_IXGRP: ...;
                                  S_IXOTH: ...;
                                  S_IXUSR: ...;
                                  UV_FS_O_FILEMAP: ...;
                                  W_OK: ...;
                                  X_OK: ...;
                              };
                              copyFile: {};
                              cp: {};
                              glob: {};
                              lchmod: {};
                              lchown: {};
                              link: {};
                              lstat: {};
                              lutimes: {};
                              mkdir: {};
                              mkdtemp: {};
                              open: {};
                              opendir: {};
                              readdir: {};
                              readFile: {};
                              readlink: {};
                              realpath: {};
                              rename: {};
                              rm: {};
                              rmdir: {};
                              stat: {};
                              statfs: {};
                              symlink: {};
                              truncate: {};
                              unlink: {};
                              utimes: {};
                              watch: {};
                              writeFile: {};
                          };
                          read: { __promisify__: {} };
                          readdir: { __promisify__: {} };
                          readdirSync: {};
                          readFile: { __promisify__: {} };
                          readFileSync: {};
                          readlink: { __promisify__: {} };
                          readlinkSync: {};
                          ReadStream: {
                              addAbortListener: {};
                              addAbortSignal: {};
                              captureRejections: boolean;
                              captureRejectionSymbol: typeof captureRejectionSymbol;
                              defaultMaxListeners: number;
                              Duplex: {
                                  addAbortListener: ...;
                                  addAbortSignal: ...;
                                  captureRejections: ...;
                                  captureRejectionSymbol: ...;
                                  defaultMaxListeners: ...;
                                  Duplex: ...;
                                  duplexPair: ...;
                                  errorMonitor: ...;
                                  EventEmitter: ...;
                                  EventEmitterAsyncResource: ...;
                                  finished: ...;
                                  from: ...;
                                  fromWeb: ...;
                                  getDefaultHighWaterMark: ...;
                                  getEventListeners: ...;
                                  getMaxListeners: ...;
                                  isErrored: ...;
                                  isReadable: ...;
                                  isWritable: ...;
                                  listenerCount: ...;
                                  on: ...;
                                  once: ...;
                                  PassThrough: ...;
                                  pipeline: ...;
                                  promises: ...;
                                  prototype: ...;
                                  Readable: ...;
                                  setDefaultHighWaterMark: ...;
                                  setMaxListeners: ...;
                                  Stream: ...;
                                  toWeb: ...;
                                  Transform: ...;
                                  Writable: ...;
                              };
                              duplexPair: {};
                              errorMonitor: typeof errorMonitor;
                              EventEmitter: {
                                  addAbortListener: ...;
                                  captureRejections: ...;
                                  captureRejectionSymbol: ...;
                                  defaultMaxListeners: ...;
                                  errorMonitor: ...;
                                  EventEmitter: ...;
                                  EventEmitterAsyncResource: ...;
                                  getEventListeners: ...;
                                  getMaxListeners: ...;
                                  listenerCount: ...;
                                  on: ...;
                                  once: ...;
                                  prototype: ...;
                                  setMaxListeners: ...;
                              };
                              EventEmitterAsyncResource: {
                                  addAbortListener: ...;
                                  captureRejections: ...;
                                  captureRejectionSymbol: ...;
                                  defaultMaxListeners: ...;
                                  errorMonitor: ...;
                                  EventEmitter: ...;
                                  EventEmitterAsyncResource: ...;
                                  getEventListeners: ...;
                                  getMaxListeners: ...;
                                  listenerCount: ...;
                                  on: ...;
                                  once: ...;
                                  prototype: ...;
                                  setMaxListeners: ...;
                              };
                              finished: { __promisify__: ... };
                              from: {};
                              fromWeb: {};
                              getDefaultHighWaterMark: {};
                              getEventListeners: {};
                              getMaxListeners: {};
                              isDisturbed: {};
                              isErrored: {};
                              isReadable: {};
                              isWritable: {};
                              listenerCount: {};
                              on: {};
                              once: {};
                              PassThrough: {
                                  addAbortListener: ...;
                                  addAbortSignal: ...;
                                  captureRejections: ...;
                                  captureRejectionSymbol: ...;
                                  defaultMaxListeners: ...;
                                  Duplex: ...;
                                  duplexPair: ...;
                                  errorMonitor: ...;
                                  EventEmitter: ...;
                                  EventEmitterAsyncResource: ...;
                                  finished: ...;
                                  from: ...;
                                  fromWeb: ...;
                                  getDefaultHighWaterMark: ...;
                                  getEventListeners: ...;
                                  getMaxListeners: ...;
                                  isErrored: ...;
                                  isReadable: ...;
                                  isWritable: ...;
                                  listenerCount: ...;
                                  on: ...;
                                  once: ...;
                                  PassThrough: ...;
                                  pipeline: ...;
                                  promises: ...;
                                  prototype: ...;
                                  Readable: ...;
                                  setDefaultHighWaterMark: ...;
                                  setMaxListeners: ...;
                                  Stream: ...;
                                  toWeb: ...;
                                  Transform: ...;
                                  Writable: ...;
                              };
                              pipeline: { __promisify__: ... };
                              promises: { finished: ...; pipeline: ... };
                              prototype: {
                                  _construct?: ...;
                                  _destroy: ...;
                                  _read: ...;
                                  "[asyncDispose]": ...;
                                  "[asyncIterator]": ...;
                                  "[captureRejectionSymbol]"?: ...;
                                  addListener: ...;
                                  asIndexedPairs: ...;
                                  bytesRead: ...;
                                  close: ...;
                                  closed: ...;
                                  compose: ...;
                                  destroy: ...;
                                  destroyed: ...;
                                  drop: ...;
                                  emit: ...;
                                  errored: ...;
                                  eventNames: ...;
                                  every: ...;
                                  filter: ...;
                                  find: ...;
                                  flatMap: ...;
                                  forEach: ...;
                                  getMaxListeners: ...;
                                  isPaused: ...;
                                  iterator: ...;
                                  listenerCount: ...;
                                  listeners: ...;
                                  map: ...;
                                  off: ...;
                                  on: ...;
                                  once: ...;
                                  path: ...;
                                  pause: ...;
                                  pending: ...;
                                  pipe: ...;
                                  prependListener: ...;
                                  prependOnceListener: ...;
                                  push: ...;
                                  rawListeners: ...;
                                  read: ...;
                                  readable: ...;
                                  readableAborted: ...;
                                  readableDidRead: ...;
                                  readableEncoding: ...;
                                  readableEnded: ...;
                                  readableFlowing: ...;
                                  readableHighWaterMark: ...;
                                  readableLength: ...;
                                  readableObjectMode: ...;
                                  reduce: ...;
                                  removeAllListeners: ...;
                                  removeListener: ...;
                                  resume: ...;
                                  setEncoding: ...;
                                  setMaxListeners: ...;
                                  some: ...;
                                  take: ...;
                                  toArray: ...;
                                  unpipe: ...;
                                  unshift: ...;
                                  wrap: ...;
                              };
                              Readable: {
                                  addAbortListener: ...;
                                  addAbortSignal: ...;
                                  captureRejections: ...;
                                  captureRejectionSymbol: ...;
                                  defaultMaxListeners: ...;
                                  Duplex: ...;
                                  duplexPair: ...;
                                  errorMonitor: ...;
                                  EventEmitter: ...;
                                  EventEmitterAsyncResource: ...;
                                  finished: ...;
                                  from: ...;
                                  fromWeb: ...;
                                  getDefaultHighWaterMark: ...;
                                  getEventListeners: ...;
                                  getMaxListeners: ...;
                                  isDisturbed: ...;
                                  isErrored: ...;
                                  isReadable: ...;
                                  isWritable: ...;
                                  listenerCount: ...;
                                  on: ...;
                                  once: ...;
                                  PassThrough: ...;
                                  pipeline: ...;
                                  promises: ...;
                                  prototype: ...;
                                  Readable: ...;
                                  setDefaultHighWaterMark: ...;
                                  setMaxListeners: ...;
                                  Stream: ...;
                                  toWeb: ...;
                                  Transform: ...;
                                  Writable: ...;
                              };
                              setDefaultHighWaterMark: {};
                              setMaxListeners: {};
                              Stream: {
                                  addAbortListener: ...;
                                  addAbortSignal: ...;
                                  captureRejections: ...;
                                  captureRejectionSymbol: ...;
                                  defaultMaxListeners: ...;
                                  Duplex: ...;
                                  duplexPair: ...;
                                  errorMonitor: ...;
                                  EventEmitter: ...;
                                  EventEmitterAsyncResource: ...;
                                  finished: ...;
                                  getDefaultHighWaterMark: ...;
                                  getEventListeners: ...;
                                  getMaxListeners: ...;
                                  isErrored: ...;
                                  isReadable: ...;
                                  isWritable: ...;
                                  listenerCount: ...;
                                  on: ...;
                                  once: ...;
                                  PassThrough: ...;
                                  pipeline: ...;
                                  promises: ...;
                                  prototype: ...;
                                  Readable: ...;
                                  setDefaultHighWaterMark: ...;
                                  setMaxListeners: ...;
                                  Stream: ...;
                                  Transform: ...;
                                  Writable: ...;
                              };
                              toWeb: {};
                              Transform: {
                                  addAbortListener: ...;
                                  addAbortSignal: ...;
                                  captureRejections: ...;
                                  captureRejectionSymbol: ...;
                                  defaultMaxListeners: ...;
                                  Duplex: ...;
                                  duplexPair: ...;
                                  errorMonitor: ...;
                                  EventEmitter: ...;
                                  EventEmitterAsyncResource: ...;
                                  finished: ...;
                                  from: ...;
                                  fromWeb: ...;
                                  getDefaultHighWaterMark: ...;
                                  getEventListeners: ...;
                                  getMaxListeners: ...;
                                  isErrored: ...;
                                  isReadable: ...;
                                  isWritable: ...;
                                  listenerCount: ...;
                                  on: ...;
                                  once: ...;
                                  PassThrough: ...;
                                  pipeline: ...;
                                  promises: ...;
                                  prototype: ...;
                                  Readable: ...;
                                  setDefaultHighWaterMark: ...;
                                  setMaxListeners: ...;
                                  Stream: ...;
                                  toWeb: ...;
                                  Transform: ...;
                                  Writable: ...;
                              };
                              Writable: {
                                  addAbortListener: ...;
                                  addAbortSignal: ...;
                                  captureRejections: ...;
                                  captureRejectionSymbol: ...;
                                  defaultMaxListeners: ...;
                                  Duplex: ...;
                                  duplexPair: ...;
                                  errorMonitor: ...;
                                  EventEmitter: ...;
                                  EventEmitterAsyncResource: ...;
                                  finished: ...;
                                  fromWeb: ...;
                                  getDefaultHighWaterMark: ...;
                                  getEventListeners: ...;
                                  getMaxListeners: ...;
                                  isErrored: ...;
                                  isReadable: ...;
                                  isWritable: ...;
                                  listenerCount: ...;
                                  on: ...;
                                  once: ...;
                                  PassThrough: ...;
                                  pipeline: ...;
                                  promises: ...;
                                  prototype: ...;
                                  Readable: ...;
                                  setDefaultHighWaterMark: ...;
                                  setMaxListeners: ...;
                                  Stream: ...;
                                  toWeb: ...;
                                  Transform: ...;
                                  Writable: ...;
                              };
                          };
                          readSync: {};
                          readv: { __promisify__: {} };
                          readvSync: {};
                          realpath: { __promisify__: {}; native: {} };
                          realpathSync: { native: {} };
                          rename: { __promisify__: {} };
                          renameSync: {};
                          rm: { __promisify__: {} };
                          rmdir: { __promisify__: {} };
                          rmdirSync: {};
                          rmSync: {};
                          stat: { __promisify__: {} };
                          statfs: { __promisify__: {} };
                          statfsSync: {};
                          Stats: {
                              prototype: {
                                  atime: ...;
                                  atimeMs: ...;
                                  birthtime: ...;
                                  birthtimeMs: ...;
                                  blksize: ...;
                                  blocks: ...;
                                  ctime: ...;
                                  ctimeMs: ...;
                                  dev: ...;
                                  gid: ...;
                                  ino: ...;
                                  isBlockDevice: ...;
                                  isCharacterDevice: ...;
                                  isDirectory: ...;
                                  isFIFO: ...;
                                  isFile: ...;
                                  isSocket: ...;
                                  isSymbolicLink: ...;
                                  mode: ...;
                                  mtime: ...;
                                  mtimeMs: ...;
                                  nlink: ...;
                                  rdev: ...;
                                  size: ...;
                                  uid: ...;
                              };
                          };
                          StatsFs: {
                              prototype: {
                                  bavail: ...;
                                  bfree: ...;
                                  blocks: ...;
                                  bsize: ...;
                                  ffree: ...;
                                  files: ...;
                                  type: ...;
                              };
                          };
                          statSync: {
                              "[hasInstance]": {};
                              apply: {};
                              arguments: any;
                              bind: {};
                              call: {};
                              caller: {
                                  "[hasInstance]": ...;
                                  apply: ...;
                                  arguments: ...;
                                  bind: ...;
                                  call: ...;
                                  caller: ...;
                                  length: ...;
                                  name: ...;
                                  prototype: ...;
                                  toString: ...;
                              };
                              length: number;
                              name: string;
                              prototype: any;
                              toString: {};
                          };
                          symlink: { __promisify__: {} };
                          symlinkSync: {};
                          truncate: { __promisify__: {} };
                          truncateSync: {};
                          unlink: { __promisify__: {} };
                          unlinkSync: {};
                          unwatchFile: {};
                          utimes: { __promisify__: {} };
                          utimesSync: {};
                          watch: {};
                          watchFile: {};
                          write: { __promisify__: {} };
                          writeFile: { __promisify__: {} };
                          writeFileSync: {};
                          WriteStream: {
                              addAbortListener: {};
                              addAbortSignal: {};
                              captureRejections: boolean;
                              captureRejectionSymbol: typeof captureRejectionSymbol;
                              defaultMaxListeners: number;
                              Duplex: {
                                  addAbortListener: ...;
                                  addAbortSignal: ...;
                                  captureRejections: ...;
                                  captureRejectionSymbol: ...;
                                  defaultMaxListeners: ...;
                                  Duplex: ...;
                                  duplexPair: ...;
                                  errorMonitor: ...;
                                  EventEmitter: ...;
                                  EventEmitterAsyncResource: ...;
                                  finished: ...;
                                  from: ...;
                                  fromWeb: ...;
                                  getDefaultHighWaterMark: ...;
                                  getEventListeners: ...;
                                  getMaxListeners: ...;
                                  isErrored: ...;
                                  isReadable: ...;
                                  isWritable: ...;
                                  listenerCount: ...;
                                  on: ...;
                                  once: ...;
                                  PassThrough: ...;
                                  pipeline: ...;
                                  promises: ...;
                                  prototype: ...;
                                  Readable: ...;
                                  setDefaultHighWaterMark: ...;
                                  setMaxListeners: ...;
                                  Stream: ...;
                                  toWeb: ...;
                                  Transform: ...;
                                  Writable: ...;
                              };
                              duplexPair: {};
                              errorMonitor: typeof errorMonitor;
                              EventEmitter: {
                                  addAbortListener: ...;
                                  captureRejections: ...;
                                  captureRejectionSymbol: ...;
                                  defaultMaxListeners: ...;
                                  errorMonitor: ...;
                                  EventEmitter: ...;
                                  EventEmitterAsyncResource: ...;
                                  getEventListeners: ...;
                                  getMaxListeners: ...;
                                  listenerCount: ...;
                                  on: ...;
                                  once: ...;
                                  prototype: ...;
                                  setMaxListeners: ...;
                              };
                              EventEmitterAsyncResource: {
                                  addAbortListener: ...;
                                  captureRejections: ...;
                                  captureRejectionSymbol: ...;
                                  defaultMaxListeners: ...;
                                  errorMonitor: ...;
                                  EventEmitter: ...;
                                  EventEmitterAsyncResource: ...;
                                  getEventListeners: ...;
                                  getMaxListeners: ...;
                                  listenerCount: ...;
                                  on: ...;
                                  once: ...;
                                  prototype: ...;
                                  setMaxListeners: ...;
                              };
                              finished: { __promisify__: ... };
                              fromWeb: {};
                              getDefaultHighWaterMark: {};
                              getEventListeners: {};
                              getMaxListeners: {};
                              isErrored: {};
                              isReadable: {};
                              isWritable: {};
                              listenerCount: {};
                              on: {};
                              once: {};
                              PassThrough: {
                                  addAbortListener: ...;
                                  addAbortSignal: ...;
                                  captureRejections: ...;
                                  captureRejectionSymbol: ...;
                                  defaultMaxListeners: ...;
                                  Duplex: ...;
                                  duplexPair: ...;
                                  errorMonitor: ...;
                                  EventEmitter: ...;
                                  EventEmitterAsyncResource: ...;
                                  finished: ...;
                                  from: ...;
                                  fromWeb: ...;
                                  getDefaultHighWaterMark: ...;
                                  getEventListeners: ...;
                                  getMaxListeners: ...;
                                  isErrored: ...;
                                  isReadable: ...;
                                  isWritable: ...;
                                  listenerCount: ...;
                                  on: ...;
                                  once: ...;
                                  PassThrough: ...;
                                  pipeline: ...;
                                  promises: ...;
                                  prototype: ...;
                                  Readable: ...;
                                  setDefaultHighWaterMark: ...;
                                  setMaxListeners: ...;
                                  Stream: ...;
                                  toWeb: ...;
                                  Transform: ...;
                                  Writable: ...;
                              };
                              pipeline: { __promisify__: ... };
                              promises: { finished: ...; pipeline: ... };
                              prototype: {
                                  _construct?: ...;
                                  _destroy: ...;
                                  _final: ...;
                                  _write: ...;
                                  _writev?: ...;
                                  "[captureRejectionSymbol]"?: ...;
                                  addListener: ...;
                                  bytesWritten: ...;
                                  close: ...;
                                  closed: ...;
                                  compose: ...;
                                  cork: ...;
                                  destroy: ...;
                                  destroyed: ...;
                                  emit: ...;
                                  end: ...;
                                  errored: ...;
                                  eventNames: ...;
                                  getMaxListeners: ...;
                                  listenerCount: ...;
                                  listeners: ...;
                                  off: ...;
                                  on: ...;
                                  once: ...;
                                  path: ...;
                                  pending: ...;
                                  pipe: ...;
                                  prependListener: ...;
                                  prependOnceListener: ...;
                                  rawListeners: ...;
                                  removeAllListeners: ...;
                                  removeListener: ...;
                                  setDefaultEncoding: ...;
                                  setMaxListeners: ...;
                                  uncork: ...;
                                  writable: ...;
                                  writableAborted: ...;
                                  writableCorked: ...;
                                  writableEnded: ...;
                                  writableFinished: ...;
                                  writableHighWaterMark: ...;
                                  writableLength: ...;
                                  writableNeedDrain: ...;
                                  writableObjectMode: ...;
                                  write: ...;
                              };
                              Readable: {
                                  addAbortListener: ...;
                                  addAbortSignal: ...;
                                  captureRejections: ...;
                                  captureRejectionSymbol: ...;
                                  defaultMaxListeners: ...;
                                  Duplex: ...;
                                  duplexPair: ...;
                                  errorMonitor: ...;
                                  EventEmitter: ...;
                                  EventEmitterAsyncResource: ...;
                                  finished: ...;
                                  from: ...;
                                  fromWeb: ...;
                                  getDefaultHighWaterMark: ...;
                                  getEventListeners: ...;
                                  getMaxListeners: ...;
                                  isDisturbed: ...;
                                  isErrored: ...;
                                  isReadable: ...;
                                  isWritable: ...;
                                  listenerCount: ...;
                                  on: ...;
                                  once: ...;
                                  PassThrough: ...;
                                  pipeline: ...;
                                  promises: ...;
                                  prototype: ...;
                                  Readable: ...;
                                  setDefaultHighWaterMark: ...;
                                  setMaxListeners: ...;
                                  Stream: ...;
                                  toWeb: ...;
                                  Transform: ...;
                                  Writable: ...;
                              };
                              setDefaultHighWaterMark: {};
                              setMaxListeners: {};
                              Stream: {
                                  addAbortListener: ...;
                                  addAbortSignal: ...;
                                  captureRejections: ...;
                                  captureRejectionSymbol: ...;
                                  defaultMaxListeners: ...;
                                  Duplex: ...;
                                  duplexPair: ...;
                                  errorMonitor: ...;
                                  EventEmitter: ...;
                                  EventEmitterAsyncResource: ...;
                                  finished: ...;
                                  getDefaultHighWaterMark: ...;
                                  getEventListeners: ...;
                                  getMaxListeners: ...;
                                  isErrored: ...;
                                  isReadable: ...;
                                  isWritable: ...;
                                  listenerCount: ...;
                                  on: ...;
                                  once: ...;
                                  PassThrough: ...;
                                  pipeline: ...;
                                  promises: ...;
                                  prototype: ...;
                                  Readable: ...;
                                  setDefaultHighWaterMark: ...;
                                  setMaxListeners: ...;
                                  Stream: ...;
                                  Transform: ...;
                                  Writable: ...;
                              };
                              toWeb: {};
                              Transform: {
                                  addAbortListener: ...;
                                  addAbortSignal: ...;
                                  captureRejections: ...;
                                  captureRejectionSymbol: ...;
                                  defaultMaxListeners: ...;
                                  Duplex: ...;
                                  duplexPair: ...;
                                  errorMonitor: ...;
                                  EventEmitter: ...;
                                  EventEmitterAsyncResource: ...;
                                  finished: ...;
                                  from: ...;
                                  fromWeb: ...;
                                  getDefaultHighWaterMark: ...;
                                  getEventListeners: ...;
                                  getMaxListeners: ...;
                                  isErrored: ...;
                                  isReadable: ...;
                                  isWritable: ...;
                                  listenerCount: ...;
                                  on: ...;
                                  once: ...;
                                  PassThrough: ...;
                                  pipeline: ...;
                                  promises: ...;
                                  prototype: ...;
                                  Readable: ...;
                                  setDefaultHighWaterMark: ...;
                                  setMaxListeners: ...;
                                  Stream: ...;
                                  toWeb: ...;
                                  Transform: ...;
                                  Writable: ...;
                              };
                              Writable: {
                                  addAbortListener: ...;
                                  addAbortSignal: ...;
                                  captureRejections: ...;
                                  captureRejectionSymbol: ...;
                                  defaultMaxListeners: ...;
                                  Duplex: ...;
                                  duplexPair: ...;
                                  errorMonitor: ...;
                                  EventEmitter: ...;
                                  EventEmitterAsyncResource: ...;
                                  finished: ...;
                                  fromWeb: ...;
                                  getDefaultHighWaterMark: ...;
                                  getEventListeners: ...;
                                  getMaxListeners: ...;
                                  isErrored: ...;
                                  isReadable: ...;
                                  isWritable: ...;
                                  listenerCount: ...;
                                  on: ...;
                                  once: ...;
                                  PassThrough: ...;
                                  pipeline: ...;
                                  promises: ...;
                                  prototype: ...;
                                  Readable: ...;
                                  setDefaultHighWaterMark: ...;
                                  setMaxListeners: ...;
                                  Stream: ...;
                                  toWeb: ...;
                                  Transform: ...;
                                  Writable: ...;
                              };
                          };
                          writeSync: {};
                          writev: { __promisify__: {} };
                          writevSync: {};
                      };
                      ignore?: string
                      | readonly string[];
                      mark?: boolean;
                      matchBase?: any;
                      nobrace?: boolean;
                      nocase?: boolean;
                      nocomment?: boolean;
                      nodir?: boolean;
                      noext?: boolean;
                      noglobstar?: boolean;
                      nomount?: boolean;
                      nonegate?: boolean;
                      nonull?: boolean;
                      nosort?: boolean;
                      nounique?: boolean;
                      partial?: boolean;
                      realpath?: boolean;
                      realpathCache?: { readonly [key: string]: string };
                      root?: string;
                      silent?: boolean;
                      stat?: boolean;
                      statCache?: {
                          readonly [key: string]: false | { isDirectory: ... } | undefined;
                      };
                      strict?: boolean;
                      symlinks?: { readonly [key: string]: boolean
                      | undefined };
                      sync?: boolean;
                      windowsPathsNoEscape?: boolean;
                  };
                  ordering?: string;
                  pattern?: string;
                  transform?: {};
                  unpack?: string;
                  unpackDir?: string;
              };
          beforeAsar?: readonly {}[];
          beforeCopy?: readonly {}[];
          beforeCopyExtraResources?: readonly {}[];
          buildVersion?: string;
          darwinDarkModeSupport?: boolean;
          derefSymlinks?: boolean;
          download?: {
              cacheMode?: ElectronDownloadCacheMode;
              cacheRoot?: string;
              checksums?: { readonly [key: string]: string };
              downloader?: { download: {} };
              downloadOptions?: any;
              force?: boolean;
              mirrorOptions?: {
                  customDir?: string;
                  customFilename?: string;
                  customVersion?: string;
                  mirror?: string;
                  nightly_mirror?: string;
                  nightlyMirror?: string;
                  resolveAssetURL?: {};
              };
              tempDirectory?: string;
              unsafelyDisableChecksums?: boolean;
          };
          electronZipDir?: string;
          executableName?: string;
          extendHelperInfo?: string
          | { readonly [key: string]: any };
          extendInfo?: string | { readonly [key: string]: any };
          extraResource?: string | readonly string[];
          helperBundleId?: string;
          icon?: string | readonly string[];
          ignore?:
              | {
                  "[match]": {};
                  "[matchAll]": {};
                  "[replace]": {};
                  "[search]": {};
                  "[split]": {};
                  compile: {};
                  dotAll: boolean;
                  exec: {};
                  flags: string;
                  global: boolean;
                  hasIndices: boolean;
                  ignoreCase: boolean;
                  lastIndex: number;
                  multiline: boolean;
                  source: string;
                  sticky: boolean;
                  test: {};
                  unicode: boolean;
              }
              | readonly (
                  | string
                  | {
                      "[match]": {};
                      "[matchAll]": {};
                      "[replace]": {};
                      "[search]": {};
                      "[split]": {};
                      compile: {};
                      dotAll: boolean;
                      exec: {};
                      flags: string;
                      global: boolean;
                      hasIndices: boolean;
                      ignoreCase: boolean;
                      lastIndex: number;
                      multiline: boolean;
                      source: string;
                      sticky: boolean;
                      test: {};
                      unicode: boolean;
                  }
              )[]
              | {};
          junk?: boolean;
          name?: string;
          osxNotarize?: | {
              appleId: string;
              appleIdPassword: string;
              teamId: string;
          }
          | { appleApiIssuer: string; appleApiKey: string; appleApiKeyId: string }
          | { keychain?: string; keychainProfile: string };
          osxSign?:
              | true
              | {
                  identity?: string;
                  identityValidation?: boolean;
                  ignore?: string
                  | readonly string[]
                  | {};
                  keychain?: string;
                  optionsForFile?: {};
                  preAutoEntitlements?: boolean;
                  preEmbedProvisioningProfile?: boolean;
                  provisioningProfile?: string;
                  strictVerify?: string | boolean;
                  type?: SigningDistributionType;
              };
          osxUniversal?: {
              infoPlistsToIgnore?: string;
              mergeASARs?: boolean;
              singleArchFiles?: string;
              x64ArchFiles?: string;
          };
          overwrite?: boolean;
          prebuiltAsar?: string;
          protocols?: readonly { name: string; schemes: readonly string[] }[];
          prune?: boolean;
          quiet?: boolean;
          tmpdir?: string | false;
          usageDescription?: { readonly [key: string]: string };
          win32metadata?: {
              "application-manifest"?: string;
              CompanyName?: string;
              FileDescription?: string;
              InternalName?: string;
              OriginalFilename?: string;
              ProductName?: string;
              "requested-execution-level"?:
                  | "asInvoker"
                  | "highestAvailable"
                  | "requireAdministrator";
          };
          windowsSign?: | true
          | {
              automaticallySelectCertificate?: boolean;
              certificateFile?: string;
              certificatePassword?: string;
              continueOnError?: boolean;
              debug?: boolean;
              description?: string;
              hashes?: readonly HASHES[];
              hookFunction?: {};
              hookModulePath?: string;
              signJavaScript?: boolean;
              signToolPath?: string;
              signWithParams?: string
              | readonly string[];
              timestampServer?: string;
              website?: string;
          };
      }
      • Optional ReadonlyafterAsar?: readonly {}[]

        Functions to be called after your app directory has been packaged into an .asar file.

        Note: afterAsar will only be called if the asar option is set.

      • Optional ReadonlyafterComplete?: readonly {}[]

        Functions to be called after the packaged application has been moved to the final directory.

      • Optional ReadonlyafterCopy?: readonly {}[]

        Functions to be called after your app directory has been copied to a temporary directory.

        Note: afterCopy will not be called if the prebuiltAsar option is set.

      • Optional ReadonlyafterCopyExtraResources?: readonly {}[]

        Functions to be called after the files specified in the extraResource option have been copied.

      • Optional ReadonlyafterExtract?: readonly {}[]

        Functions to be called after the prebuilt Electron binary has been extracted to a temporary directory.

      • Optional ReadonlyafterFinalizePackageTargets?: readonly {}[]

        Functions to be called after the final matrix of platform/arch combination is determined. Use this to learn what archs/platforms packager is targetting when you pass "all" as a value.

      • Optional ReadonlyafterInitialize?: readonly {}[]
      • Optional ReadonlyafterPrune?: readonly {}[]

        Functions to be called after Node module pruning has been applied to the application.

        Note: None of these functions will be called if the prune option is false or the prebuiltAsar option is set.

      • Optional Readonlyall?: boolean

        When true, sets both arch and platform to all.

      • Optional ReadonlyappBundleId?: string
      • Optional ReadonlyappCategoryType?: string

        The application category type, as shown in the Finder via View → Arrange by Application Category when viewing the Applications directory.

        For example, app-category-type=public.app-category.developer-tools will set the application category to Developer Tools.

        Valid values are listed in Apple's documentation.

      • Optional ReadonlyappCopyright?: string

        The human-readable copyright line for the app. Maps to the LegalCopyright metadata property on Windows, and NSHumanReadableCopyright on macOS.

      • Optional ReadonlyappVersion?: string

        The release version of the application.

        By default the version property in the package.json is used, but it can be overridden with this argument. If neither are provided, the version of Electron will be used. Maps to the ProductVersion metadata property on Windows, and CFBundleShortVersionString on macOS.

      • Optional Readonlyasar?:
            | boolean
            | {
                dot?: boolean;
                globOptions?: {
                    absolute?: boolean;
                    allowWindowsEscape?: boolean;
                    cache?: {
                        readonly [key: string]: boolean
                        | readonly (...)[]
                        | "DIR"
                        | "FILE";
                    };
                    cwd?: string;
                    debug?: boolean;
                    dot?: boolean;
                    flipNegate?: boolean;
                    follow?: boolean;
                    fs?: {
                        access: { __promisify__: {} };
                        accessSync: {};
                        appendFile: { __promisify__: {} };
                        appendFileSync: {};
                        chmod: { __promisify__: {} };
                        chmodSync: {};
                        chown: { __promisify__: {} };
                        chownSync: {};
                        close: { __promisify__: {} };
                        closeSync: {};
                        constants: {
                            COPYFILE_EXCL: number;
                            COPYFILE_FICLONE: number;
                            COPYFILE_FICLONE_FORCE: number;
                            F_OK: number;
                            O_APPEND: number;
                            O_CREAT: number;
                            O_DIRECT: number;
                            O_DIRECTORY: number;
                            O_DSYNC: number;
                            O_EXCL: number;
                            O_NOATIME: number;
                            O_NOCTTY: number;
                            O_NOFOLLOW: number;
                            O_NONBLOCK: number;
                            O_RDONLY: number;
                            O_RDWR: number;
                            O_SYMLINK: number;
                            O_SYNC: number;
                            O_TRUNC: number;
                            O_WRONLY: number;
                            R_OK: number;
                            S_IFBLK: number;
                            S_IFCHR: number;
                            S_IFDIR: number;
                            S_IFIFO: number;
                            S_IFLNK: number;
                            S_IFMT: number;
                            S_IFREG: number;
                            S_IFSOCK: number;
                            S_IRGRP: number;
                            S_IROTH: number;
                            S_IRUSR: number;
                            S_IRWXG: number;
                            S_IRWXO: number;
                            S_IRWXU: number;
                            S_IWGRP: number;
                            S_IWOTH: number;
                            S_IWUSR: number;
                            S_IXGRP: number;
                            S_IXOTH: number;
                            S_IXUSR: number;
                            UV_FS_O_FILEMAP: number;
                            W_OK: number;
                            X_OK: number;
                        };
                        copyFile: { __promisify__: {} };
                        copyFileSync: {};
                        cp: {};
                        cpSync: {};
                        createReadStream: {};
                        createWriteStream: {};
                        Dir: {
                            prototype: {
                                "[asyncDispose]": ...;
                                "[asyncIterator]": ...;
                                "[dispose]": ...;
                                close: ...;
                                closeSync: ...;
                                path: ...;
                                read: ...;
                                readSync: ...;
                            };
                        };
                        Dirent: {
                            prototype: {
                                isBlockDevice: ...;
                                isCharacterDevice: ...;
                                isDirectory: ...;
                                isFIFO: ...;
                                isFile: ...;
                                isSocket: ...;
                                isSymbolicLink: ...;
                                name: ...;
                                parentPath: ...;
                                path: ...;
                            };
                        };
                        exists: { __promisify__: {} };
                        existsSync: {};
                        fchmod: { __promisify__: {} };
                        fchmodSync: {};
                        fchown: { __promisify__: {} };
                        fchownSync: {};
                        fdatasync: { __promisify__: {} };
                        fdatasyncSync: {};
                        fstat: { __promisify__: {} };
                        fstatSync: {};
                        fsync: { __promisify__: {} };
                        fsyncSync: {};
                        ftruncate: { __promisify__: {} };
                        ftruncateSync: {};
                        futimes: { __promisify__: {} };
                        futimesSync: {};
                        glob: {};
                        globSync: {};
                        lchmod: { __promisify__: {} };
                        lchmodSync: {};
                        lchown: { __promisify__: {} };
                        lchownSync: {};
                        link: { __promisify__: {} };
                        linkSync: {};
                        lstat: { __promisify__: {} };
                        lstatSync: {
                            "[hasInstance]": {};
                            apply: {};
                            arguments: any;
                            bind: {};
                            call: {};
                            caller: {
                                "[hasInstance]": ...;
                                apply: ...;
                                arguments: ...;
                                bind: ...;
                                call: ...;
                                caller: ...;
                                length: ...;
                                name: ...;
                                prototype: ...;
                                toString: ...;
                            };
                            length: number;
                            name: string;
                            prototype: any;
                            toString: {};
                        };
                        lutimes: { __promisify__: {} };
                        lutimesSync: {};
                        mkdir: { __promisify__: {} };
                        mkdirSync: {};
                        mkdtemp: { __promisify__: {} };
                        mkdtempSync: {};
                        open: { __promisify__: {} };
                        openAsBlob: {};
                        opendir: { __promisify__: {} };
                        opendirSync: {};
                        openSync: {};
                        promises: {
                            access: {};
                            appendFile: {};
                            chmod: {};
                            chown: {};
                            constants: {
                                COPYFILE_EXCL: ...;
                                COPYFILE_FICLONE: ...;
                                COPYFILE_FICLONE_FORCE: ...;
                                F_OK: ...;
                                O_APPEND: ...;
                                O_CREAT: ...;
                                O_DIRECT: ...;
                                O_DIRECTORY: ...;
                                O_DSYNC: ...;
                                O_EXCL: ...;
                                O_NOATIME: ...;
                                O_NOCTTY: ...;
                                O_NOFOLLOW: ...;
                                O_NONBLOCK: ...;
                                O_RDONLY: ...;
                                O_RDWR: ...;
                                O_SYMLINK: ...;
                                O_SYNC: ...;
                                O_TRUNC: ...;
                                O_WRONLY: ...;
                                R_OK: ...;
                                S_IFBLK: ...;
                                S_IFCHR: ...;
                                S_IFDIR: ...;
                                S_IFIFO: ...;
                                S_IFLNK: ...;
                                S_IFMT: ...;
                                S_IFREG: ...;
                                S_IFSOCK: ...;
                                S_IRGRP: ...;
                                S_IROTH: ...;
                                S_IRUSR: ...;
                                S_IRWXG: ...;
                                S_IRWXO: ...;
                                S_IRWXU: ...;
                                S_IWGRP: ...;
                                S_IWOTH: ...;
                                S_IWUSR: ...;
                                S_IXGRP: ...;
                                S_IXOTH: ...;
                                S_IXUSR: ...;
                                UV_FS_O_FILEMAP: ...;
                                W_OK: ...;
                                X_OK: ...;
                            };
                            copyFile: {};
                            cp: {};
                            glob: {};
                            lchmod: {};
                            lchown: {};
                            link: {};
                            lstat: {};
                            lutimes: {};
                            mkdir: {};
                            mkdtemp: {};
                            open: {};
                            opendir: {};
                            readdir: {};
                            readFile: {};
                            readlink: {};
                            realpath: {};
                            rename: {};
                            rm: {};
                            rmdir: {};
                            stat: {};
                            statfs: {};
                            symlink: {};
                            truncate: {};
                            unlink: {};
                            utimes: {};
                            watch: {};
                            writeFile: {};
                        };
                        read: { __promisify__: {} };
                        readdir: { __promisify__: {} };
                        readdirSync: {};
                        readFile: { __promisify__: {} };
                        readFileSync: {};
                        readlink: { __promisify__: {} };
                        readlinkSync: {};
                        ReadStream: {
                            addAbortListener: {};
                            addAbortSignal: {};
                            captureRejections: boolean;
                            captureRejectionSymbol: typeof captureRejectionSymbol;
                            defaultMaxListeners: number;
                            Duplex: {
                                addAbortListener: ...;
                                addAbortSignal: ...;
                                captureRejections: ...;
                                captureRejectionSymbol: ...;
                                defaultMaxListeners: ...;
                                Duplex: ...;
                                duplexPair: ...;
                                errorMonitor: ...;
                                EventEmitter: ...;
                                EventEmitterAsyncResource: ...;
                                finished: ...;
                                from: ...;
                                fromWeb: ...;
                                getDefaultHighWaterMark: ...;
                                getEventListeners: ...;
                                getMaxListeners: ...;
                                isErrored: ...;
                                isReadable: ...;
                                isWritable: ...;
                                listenerCount: ...;
                                on: ...;
                                once: ...;
                                PassThrough: ...;
                                pipeline: ...;
                                promises: ...;
                                prototype: ...;
                                Readable: ...;
                                setDefaultHighWaterMark: ...;
                                setMaxListeners: ...;
                                Stream: ...;
                                toWeb: ...;
                                Transform: ...;
                                Writable: ...;
                            };
                            duplexPair: {};
                            errorMonitor: typeof errorMonitor;
                            EventEmitter: {
                                addAbortListener: ...;
                                captureRejections: ...;
                                captureRejectionSymbol: ...;
                                defaultMaxListeners: ...;
                                errorMonitor: ...;
                                EventEmitter: ...;
                                EventEmitterAsyncResource: ...;
                                getEventListeners: ...;
                                getMaxListeners: ...;
                                listenerCount: ...;
                                on: ...;
                                once: ...;
                                prototype: ...;
                                setMaxListeners: ...;
                            };
                            EventEmitterAsyncResource: {
                                addAbortListener: ...;
                                captureRejections: ...;
                                captureRejectionSymbol: ...;
                                defaultMaxListeners: ...;
                                errorMonitor: ...;
                                EventEmitter: ...;
                                EventEmitterAsyncResource: ...;
                                getEventListeners: ...;
                                getMaxListeners: ...;
                                listenerCount: ...;
                                on: ...;
                                once: ...;
                                prototype: ...;
                                setMaxListeners: ...;
                            };
                            finished: { __promisify__: ... };
                            from: {};
                            fromWeb: {};
                            getDefaultHighWaterMark: {};
                            getEventListeners: {};
                            getMaxListeners: {};
                            isDisturbed: {};
                            isErrored: {};
                            isReadable: {};
                            isWritable: {};
                            listenerCount: {};
                            on: {};
                            once: {};
                            PassThrough: {
                                addAbortListener: ...;
                                addAbortSignal: ...;
                                captureRejections: ...;
                                captureRejectionSymbol: ...;
                                defaultMaxListeners: ...;
                                Duplex: ...;
                                duplexPair: ...;
                                errorMonitor: ...;
                                EventEmitter: ...;
                                EventEmitterAsyncResource: ...;
                                finished: ...;
                                from: ...;
                                fromWeb: ...;
                                getDefaultHighWaterMark: ...;
                                getEventListeners: ...;
                                getMaxListeners: ...;
                                isErrored: ...;
                                isReadable: ...;
                                isWritable: ...;
                                listenerCount: ...;
                                on: ...;
                                once: ...;
                                PassThrough: ...;
                                pipeline: ...;
                                promises: ...;
                                prototype: ...;
                                Readable: ...;
                                setDefaultHighWaterMark: ...;
                                setMaxListeners: ...;
                                Stream: ...;
                                toWeb: ...;
                                Transform: ...;
                                Writable: ...;
                            };
                            pipeline: { __promisify__: ... };
                            promises: { finished: ...; pipeline: ... };
                            prototype: {
                                _construct?: ...;
                                _destroy: ...;
                                _read: ...;
                                "[asyncDispose]": ...;
                                "[asyncIterator]": ...;
                                "[captureRejectionSymbol]"?: ...;
                                addListener: ...;
                                asIndexedPairs: ...;
                                bytesRead: ...;
                                close: ...;
                                closed: ...;
                                compose: ...;
                                destroy: ...;
                                destroyed: ...;
                                drop: ...;
                                emit: ...;
                                errored: ...;
                                eventNames: ...;
                                every: ...;
                                filter: ...;
                                find: ...;
                                flatMap: ...;
                                forEach: ...;
                                getMaxListeners: ...;
                                isPaused: ...;
                                iterator: ...;
                                listenerCount: ...;
                                listeners: ...;
                                map: ...;
                                off: ...;
                                on: ...;
                                once: ...;
                                path: ...;
                                pause: ...;
                                pending: ...;
                                pipe: ...;
                                prependListener: ...;
                                prependOnceListener: ...;
                                push: ...;
                                rawListeners: ...;
                                read: ...;
                                readable: ...;
                                readableAborted: ...;
                                readableDidRead: ...;
                                readableEncoding: ...;
                                readableEnded: ...;
                                readableFlowing: ...;
                                readableHighWaterMark: ...;
                                readableLength: ...;
                                readableObjectMode: ...;
                                reduce: ...;
                                removeAllListeners: ...;
                                removeListener: ...;
                                resume: ...;
                                setEncoding: ...;
                                setMaxListeners: ...;
                                some: ...;
                                take: ...;
                                toArray: ...;
                                unpipe: ...;
                                unshift: ...;
                                wrap: ...;
                            };
                            Readable: {
                                addAbortListener: ...;
                                addAbortSignal: ...;
                                captureRejections: ...;
                                captureRejectionSymbol: ...;
                                defaultMaxListeners: ...;
                                Duplex: ...;
                                duplexPair: ...;
                                errorMonitor: ...;
                                EventEmitter: ...;
                                EventEmitterAsyncResource: ...;
                                finished: ...;
                                from: ...;
                                fromWeb: ...;
                                getDefaultHighWaterMark: ...;
                                getEventListeners: ...;
                                getMaxListeners: ...;
                                isDisturbed: ...;
                                isErrored: ...;
                                isReadable: ...;
                                isWritable: ...;
                                listenerCount: ...;
                                on: ...;
                                once: ...;
                                PassThrough: ...;
                                pipeline: ...;
                                promises: ...;
                                prototype: ...;
                                Readable: ...;
                                setDefaultHighWaterMark: ...;
                                setMaxListeners: ...;
                                Stream: ...;
                                toWeb: ...;
                                Transform: ...;
                                Writable: ...;
                            };
                            setDefaultHighWaterMark: {};
                            setMaxListeners: {};
                            Stream: {
                                addAbortListener: ...;
                                addAbortSignal: ...;
                                captureRejections: ...;
                                captureRejectionSymbol: ...;
                                defaultMaxListeners: ...;
                                Duplex: ...;
                                duplexPair: ...;
                                errorMonitor: ...;
                                EventEmitter: ...;
                                EventEmitterAsyncResource: ...;
                                finished: ...;
                                getDefaultHighWaterMark: ...;
                                getEventListeners: ...;
                                getMaxListeners: ...;
                                isErrored: ...;
                                isReadable: ...;
                                isWritable: ...;
                                listenerCount: ...;
                                on: ...;
                                once: ...;
                                PassThrough: ...;
                                pipeline: ...;
                                promises: ...;
                                prototype: ...;
                                Readable: ...;
                                setDefaultHighWaterMark: ...;
                                setMaxListeners: ...;
                                Stream: ...;
                                Transform: ...;
                                Writable: ...;
                            };
                            toWeb: {};
                            Transform: {
                                addAbortListener: ...;
                                addAbortSignal: ...;
                                captureRejections: ...;
                                captureRejectionSymbol: ...;
                                defaultMaxListeners: ...;
                                Duplex: ...;
                                duplexPair: ...;
                                errorMonitor: ...;
                                EventEmitter: ...;
                                EventEmitterAsyncResource: ...;
                                finished: ...;
                                from: ...;
                                fromWeb: ...;
                                getDefaultHighWaterMark: ...;
                                getEventListeners: ...;
                                getMaxListeners: ...;
                                isErrored: ...;
                                isReadable: ...;
                                isWritable: ...;
                                listenerCount: ...;
                                on: ...;
                                once: ...;
                                PassThrough: ...;
                                pipeline: ...;
                                promises: ...;
                                prototype: ...;
                                Readable: ...;
                                setDefaultHighWaterMark: ...;
                                setMaxListeners: ...;
                                Stream: ...;
                                toWeb: ...;
                                Transform: ...;
                                Writable: ...;
                            };
                            Writable: {
                                addAbortListener: ...;
                                addAbortSignal: ...;
                                captureRejections: ...;
                                captureRejectionSymbol: ...;
                                defaultMaxListeners: ...;
                                Duplex: ...;
                                duplexPair: ...;
                                errorMonitor: ...;
                                EventEmitter: ...;
                                EventEmitterAsyncResource: ...;
                                finished: ...;
                                fromWeb: ...;
                                getDefaultHighWaterMark: ...;
                                getEventListeners: ...;
                                getMaxListeners: ...;
                                isErrored: ...;
                                isReadable: ...;
                                isWritable: ...;
                                listenerCount: ...;
                                on: ...;
                                once: ...;
                                PassThrough: ...;
                                pipeline: ...;
                                promises: ...;
                                prototype: ...;
                                Readable: ...;
                                setDefaultHighWaterMark: ...;
                                setMaxListeners: ...;
                                Stream: ...;
                                toWeb: ...;
                                Transform: ...;
                                Writable: ...;
                            };
                        };
                        readSync: {};
                        readv: { __promisify__: {} };
                        readvSync: {};
                        realpath: { __promisify__: {}; native: {} };
                        realpathSync: { native: {} };
                        rename: { __promisify__: {} };
                        renameSync: {};
                        rm: { __promisify__: {} };
                        rmdir: { __promisify__: {} };
                        rmdirSync: {};
                        rmSync: {};
                        stat: { __promisify__: {} };
                        statfs: { __promisify__: {} };
                        statfsSync: {};
                        Stats: {
                            prototype: {
                                atime: ...;
                                atimeMs: ...;
                                birthtime: ...;
                                birthtimeMs: ...;
                                blksize: ...;
                                blocks: ...;
                                ctime: ...;
                                ctimeMs: ...;
                                dev: ...;
                                gid: ...;
                                ino: ...;
                                isBlockDevice: ...;
                                isCharacterDevice: ...;
                                isDirectory: ...;
                                isFIFO: ...;
                                isFile: ...;
                                isSocket: ...;
                                isSymbolicLink: ...;
                                mode: ...;
                                mtime: ...;
                                mtimeMs: ...;
                                nlink: ...;
                                rdev: ...;
                                size: ...;
                                uid: ...;
                            };
                        };
                        StatsFs: {
                            prototype: {
                                bavail: ...;
                                bfree: ...;
                                blocks: ...;
                                bsize: ...;
                                ffree: ...;
                                files: ...;
                                type: ...;
                            };
                        };
                        statSync: {
                            "[hasInstance]": {};
                            apply: {};
                            arguments: any;
                            bind: {};
                            call: {};
                            caller: {
                                "[hasInstance]": ...;
                                apply: ...;
                                arguments: ...;
                                bind: ...;
                                call: ...;
                                caller: ...;
                                length: ...;
                                name: ...;
                                prototype: ...;
                                toString: ...;
                            };
                            length: number;
                            name: string;
                            prototype: any;
                            toString: {};
                        };
                        symlink: { __promisify__: {} };
                        symlinkSync: {};
                        truncate: { __promisify__: {} };
                        truncateSync: {};
                        unlink: { __promisify__: {} };
                        unlinkSync: {};
                        unwatchFile: {};
                        utimes: { __promisify__: {} };
                        utimesSync: {};
                        watch: {};
                        watchFile: {};
                        write: { __promisify__: {} };
                        writeFile: { __promisify__: {} };
                        writeFileSync: {};
                        WriteStream: {
                            addAbortListener: {};
                            addAbortSignal: {};
                            captureRejections: boolean;
                            captureRejectionSymbol: typeof captureRejectionSymbol;
                            defaultMaxListeners: number;
                            Duplex: {
                                addAbortListener: ...;
                                addAbortSignal: ...;
                                captureRejections: ...;
                                captureRejectionSymbol: ...;
                                defaultMaxListeners: ...;
                                Duplex: ...;
                                duplexPair: ...;
                                errorMonitor: ...;
                                EventEmitter: ...;
                                EventEmitterAsyncResource: ...;
                                finished: ...;
                                from: ...;
                                fromWeb: ...;
                                getDefaultHighWaterMark: ...;
                                getEventListeners: ...;
                                getMaxListeners: ...;
                                isErrored: ...;
                                isReadable: ...;
                                isWritable: ...;
                                listenerCount: ...;
                                on: ...;
                                once: ...;
                                PassThrough: ...;
                                pipeline: ...;
                                promises: ...;
                                prototype: ...;
                                Readable: ...;
                                setDefaultHighWaterMark: ...;
                                setMaxListeners: ...;
                                Stream: ...;
                                toWeb: ...;
                                Transform: ...;
                                Writable: ...;
                            };
                            duplexPair: {};
                            errorMonitor: typeof errorMonitor;
                            EventEmitter: {
                                addAbortListener: ...;
                                captureRejections: ...;
                                captureRejectionSymbol: ...;
                                defaultMaxListeners: ...;
                                errorMonitor: ...;
                                EventEmitter: ...;
                                EventEmitterAsyncResource: ...;
                                getEventListeners: ...;
                                getMaxListeners: ...;
                                listenerCount: ...;
                                on: ...;
                                once: ...;
                                prototype: ...;
                                setMaxListeners: ...;
                            };
                            EventEmitterAsyncResource: {
                                addAbortListener: ...;
                                captureRejections: ...;
                                captureRejectionSymbol: ...;
                                defaultMaxListeners: ...;
                                errorMonitor: ...;
                                EventEmitter: ...;
                                EventEmitterAsyncResource: ...;
                                getEventListeners: ...;
                                getMaxListeners: ...;
                                listenerCount: ...;
                                on: ...;
                                once: ...;
                                prototype: ...;
                                setMaxListeners: ...;
                            };
                            finished: { __promisify__: ... };
                            fromWeb: {};
                            getDefaultHighWaterMark: {};
                            getEventListeners: {};
                            getMaxListeners: {};
                            isErrored: {};
                            isReadable: {};
                            isWritable: {};
                            listenerCount: {};
                            on: {};
                            once: {};
                            PassThrough: {
                                addAbortListener: ...;
                                addAbortSignal: ...;
                                captureRejections: ...;
                                captureRejectionSymbol: ...;
                                defaultMaxListeners: ...;
                                Duplex: ...;
                                duplexPair: ...;
                                errorMonitor: ...;
                                EventEmitter: ...;
                                EventEmitterAsyncResource: ...;
                                finished: ...;
                                from: ...;
                                fromWeb: ...;
                                getDefaultHighWaterMark: ...;
                                getEventListeners: ...;
                                getMaxListeners: ...;
                                isErrored: ...;
                                isReadable: ...;
                                isWritable: ...;
                                listenerCount: ...;
                                on: ...;
                                once: ...;
                                PassThrough: ...;
                                pipeline: ...;
                                promises: ...;
                                prototype: ...;
                                Readable: ...;
                                setDefaultHighWaterMark: ...;
                                setMaxListeners: ...;
                                Stream: ...;
                                toWeb: ...;
                                Transform: ...;
                                Writable: ...;
                            };
                            pipeline: { __promisify__: ... };
                            promises: { finished: ...; pipeline: ... };
                            prototype: {
                                _construct?: ...;
                                _destroy: ...;
                                _final: ...;
                                _write: ...;
                                _writev?: ...;
                                "[captureRejectionSymbol]"?: ...;
                                addListener: ...;
                                bytesWritten: ...;
                                close: ...;
                                closed: ...;
                                compose: ...;
                                cork: ...;
                                destroy: ...;
                                destroyed: ...;
                                emit: ...;
                                end: ...;
                                errored: ...;
                                eventNames: ...;
                                getMaxListeners: ...;
                                listenerCount: ...;
                                listeners: ...;
                                off: ...;
                                on: ...;
                                once: ...;
                                path: ...;
                                pending: ...;
                                pipe: ...;
                                prependListener: ...;
                                prependOnceListener: ...;
                                rawListeners: ...;
                                removeAllListeners: ...;
                                removeListener: ...;
                                setDefaultEncoding: ...;
                                setMaxListeners: ...;
                                uncork: ...;
                                writable: ...;
                                writableAborted: ...;
                                writableCorked: ...;
                                writableEnded: ...;
                                writableFinished: ...;
                                writableHighWaterMark: ...;
                                writableLength: ...;
                                writableNeedDrain: ...;
                                writableObjectMode: ...;
                                write: ...;
                            };
                            Readable: {
                                addAbortListener: ...;
                                addAbortSignal: ...;
                                captureRejections: ...;
                                captureRejectionSymbol: ...;
                                defaultMaxListeners: ...;
                                Duplex: ...;
                                duplexPair: ...;
                                errorMonitor: ...;
                                EventEmitter: ...;
                                EventEmitterAsyncResource: ...;
                                finished: ...;
                                from: ...;
                                fromWeb: ...;
                                getDefaultHighWaterMark: ...;
                                getEventListeners: ...;
                                getMaxListeners: ...;
                                isDisturbed: ...;
                                isErrored: ...;
                                isReadable: ...;
                                isWritable: ...;
                                listenerCount: ...;
                                on: ...;
                                once: ...;
                                PassThrough: ...;
                                pipeline: ...;
                                promises: ...;
                                prototype: ...;
                                Readable: ...;
                                setDefaultHighWaterMark: ...;
                                setMaxListeners: ...;
                                Stream: ...;
                                toWeb: ...;
                                Transform: ...;
                                Writable: ...;
                            };
                            setDefaultHighWaterMark: {};
                            setMaxListeners: {};
                            Stream: {
                                addAbortListener: ...;
                                addAbortSignal: ...;
                                captureRejections: ...;
                                captureRejectionSymbol: ...;
                                defaultMaxListeners: ...;
                                Duplex: ...;
                                duplexPair: ...;
                                errorMonitor: ...;
                                EventEmitter: ...;
                                EventEmitterAsyncResource: ...;
                                finished: ...;
                                getDefaultHighWaterMark: ...;
                                getEventListeners: ...;
                                getMaxListeners: ...;
                                isErrored: ...;
                                isReadable: ...;
                                isWritable: ...;
                                listenerCount: ...;
                                on: ...;
                                once: ...;
                                PassThrough: ...;
                                pipeline: ...;
                                promises: ...;
                                prototype: ...;
                                Readable: ...;
                                setDefaultHighWaterMark: ...;
                                setMaxListeners: ...;
                                Stream: ...;
                                Transform: ...;
                                Writable: ...;
                            };
                            toWeb: {};
                            Transform: {
                                addAbortListener: ...;
                                addAbortSignal: ...;
                                captureRejections: ...;
                                captureRejectionSymbol: ...;
                                defaultMaxListeners: ...;
                                Duplex: ...;
                                duplexPair: ...;
                                errorMonitor: ...;
                                EventEmitter: ...;
                                EventEmitterAsyncResource: ...;
                                finished: ...;
                                from: ...;
                                fromWeb: ...;
                                getDefaultHighWaterMark: ...;
                                getEventListeners: ...;
                                getMaxListeners: ...;
                                isErrored: ...;
                                isReadable: ...;
                                isWritable: ...;
                                listenerCount: ...;
                                on: ...;
                                once: ...;
                                PassThrough: ...;
                                pipeline: ...;
                                promises: ...;
                                prototype: ...;
                                Readable: ...;
                                setDefaultHighWaterMark: ...;
                                setMaxListeners: ...;
                                Stream: ...;
                                toWeb: ...;
                                Transform: ...;
                                Writable: ...;
                            };
                            Writable: {
                                addAbortListener: ...;
                                addAbortSignal: ...;
                                captureRejections: ...;
                                captureRejectionSymbol: ...;
                                defaultMaxListeners: ...;
                                Duplex: ...;
                                duplexPair: ...;
                                errorMonitor: ...;
                                EventEmitter: ...;
                                EventEmitterAsyncResource: ...;
                                finished: ...;
                                fromWeb: ...;
                                getDefaultHighWaterMark: ...;
                                getEventListeners: ...;
                                getMaxListeners: ...;
                                isErrored: ...;
                                isReadable: ...;
                                isWritable: ...;
                                listenerCount: ...;
                                on: ...;
                                once: ...;
                                PassThrough: ...;
                                pipeline: ...;
                                promises: ...;
                                prototype: ...;
                                Readable: ...;
                                setDefaultHighWaterMark: ...;
                                setMaxListeners: ...;
                                Stream: ...;
                                toWeb: ...;
                                Transform: ...;
                                Writable: ...;
                            };
                        };
                        writeSync: {};
                        writev: { __promisify__: {} };
                        writevSync: {};
                    };
                    ignore?: string
                    | readonly string[];
                    mark?: boolean;
                    matchBase?: any;
                    nobrace?: boolean;
                    nocase?: boolean;
                    nocomment?: boolean;
                    nodir?: boolean;
                    noext?: boolean;
                    noglobstar?: boolean;
                    nomount?: boolean;
                    nonegate?: boolean;
                    nonull?: boolean;
                    nosort?: boolean;
                    nounique?: boolean;
                    partial?: boolean;
                    realpath?: boolean;
                    realpathCache?: { readonly [key: string]: string };
                    root?: string;
                    silent?: boolean;
                    stat?: boolean;
                    statCache?: {
                        readonly [key: string]: false | { isDirectory: ... } | undefined;
                    };
                    strict?: boolean;
                    symlinks?: { readonly [key: string]: boolean
                    | undefined };
                    sync?: boolean;
                    windowsPathsNoEscape?: boolean;
                };
                ordering?: string;
                pattern?: string;
                transform?: {};
                unpack?: string;
                unpackDir?: string;
            }

        Whether to package the application's source code into an archive, using Electron's archive format. Reasons why you may want to enable this feature include mitigating issues around long path names on Windows, slightly speeding up require, and concealing your source code from cursory inspection. When the value is true, it passes the default configuration to the asar module. The configuration values can be customized when the value is an Object. Supported sub-options include, but are not limited to:

        • ordering (string): A path to an ordering file for packing files. An explanation can be found on the Atom issue tracker.
        • unpack (string): A glob expression, when specified, unpacks the file with matching names to the app.asar.unpacked directory.
        • unpackDir (string): Unpacks the dir to the app.asar.unpacked directory whose names exactly or pattern match this string. The asar.unpackDir is relative to dir.

        Defaults to false.

        Some examples:

        • asar.unpackDir = 'sub_dir' will unpack the directory /<dir>/sub_dir
        • asar.unpackDir = path.join('**', '{sub_dir1/sub_sub_dir,sub_dir2}', '*') will unpack the directories /<dir>/sub_dir1/sub_sub_dir and /<dir>/sub_dir2, but it will not include their subdirectories.
        • asar.unpackDir = path.join('**', '{sub_dir1/sub_sub_dir,sub_dir2}', '**') will unpack the subdirectories of the directories /<dir>/sub_dir1/sub_sub_dir and /<dir>/sub_dir2.
        • asar.unpackDir = path.join('**', '{sub_dir1/sub_sub_dir,sub_dir2}', '**', '*') will unpack the directories /<dir>/sub_dir1/sub_sub_dir and /<dir>/sub_dir2 and their subdirectories.

        Note: asar will have no effect if the prebuiltAsar option is set.

      • Optional ReadonlybeforeAsar?: readonly {}[]

        Functions to be called before your app directory is packaged into an .asar file.

        Note: beforeAsar will only be called if the asar option is set.

      • Optional ReadonlybeforeCopy?: readonly {}[]

        Functions to be called before your app directory is copied to a temporary directory.

        Note: beforeCopy will not be called if the prebuiltAsar option is set.

      • Optional ReadonlybeforeCopyExtraResources?: readonly {}[]

        Functions to be called before the files specified in the extraResource option are copied.

      • Optional ReadonlybuildVersion?: string

        The build version of the application. Defaults to the value of the appVersion option. Maps to the FileVersion metadata property on Windows, and CFBundleVersion on macOS.

      • Optional ReadonlydarwinDarkModeSupport?: boolean

        Forces support for Mojave (macOS 10.14) dark mode in your packaged app. This sets the NSRequiresAquaSystemAppearance key to false in your app's Info.plist. For more information, see the Electron documentation and the Apple developer documentation.

      • Optional ReadonlyderefSymlinks?: boolean

        Whether symlinks should be dereferenced during the copying of the application source.

        Note: derefSymlinks will have no effect if the prebuiltAsar option is set.

        false
        
      • Optional Readonlydownload?: {
            cacheMode?: ElectronDownloadCacheMode;
            cacheRoot?: string;
            checksums?: { readonly [key: string]: string };
            downloader?: { download: {} };
            downloadOptions?: any;
            force?: boolean;
            mirrorOptions?: {
                customDir?: string;
                customFilename?: string;
                customVersion?: string;
                mirror?: string;
                nightly_mirror?: string;
                nightlyMirror?: string;
                resolveAssetURL?: {};
            };
            tempDirectory?: string;
            unsafelyDisableChecksums?: boolean;
        }

        If present, passes custom options to @electron/get. See the module for option descriptions, proxy support, and defaults. Supported parameters include, but are not limited to:

        • cacheRoot (string): The directory where prebuilt, pre-packaged Electron downloads are cached.
        • mirrorOptions (Object): Options to override the default Electron download location.

        Note: download sub-options will have no effect if the electronZipDir option is set.

        • Optional ReadonlycacheMode?: ElectronDownloadCacheMode

          Controls the cache read and write behavior.

          When set to either ElectronDownloadCacheMode.ReadOnly | ReadOnly or ElectronDownloadCacheMode.Bypass | Bypass, the caller is responsible for cleaning up the returned file path once they are done using it (e.g. via fs.remove(path.dirname(pathFromElectronGet))).

          When set to either ElectronDownloadCacheMode.WriteOnly | WriteOnly or ElectronDownloadCacheMode.ReadWrite | ReadWrite (the default), the caller should not move or delete the file path that is returned as the path points directly to the disk cache.

          This option cannot be used in conjunction with ElectronDownloadRequestOptions.force.

          ElectronDownloadCacheMode.ReadWrite

        • Optional ReadonlycacheRoot?: string

          The directory that caches Electron artifact downloads.

          The default value is dependent upon the host platform:

          • Linux: $XDG_CACHE_HOME or ~/.cache/electron/
          • MacOS: ~/Library/Caches/electron/
          • Windows: %LOCALAPPDATA%/electron/Cache or ~/AppData/Local/electron/Cache/
        • Optional Readonlychecksums?: { readonly [key: string]: string }

          Provides checksums for the artifact as strings. Can be used if you already know the checksums of the Electron artifact you are downloading and want to skip the checksum file download without skipping the checksum validation.

          This should be an object whose keys are the file names of the artifacts and the values are their respective SHA256 checksums.

          {
          "electron-v4.0.4-linux-x64.zip": "877617029f4c0f2b24f3805a1c3554ba166fda65c4e88df9480ae7b6ffa26a22"
          }
        • Optional Readonlydownloader?: { download: {} }

          A custom Downloader class used to download artifacts. Defaults to the built-in GotDownloader.

        • Optional ReadonlydownloadOptions?: any

          Options passed to the downloader module.

          GotDownloaderOptions for options for the default GotDownloader.

        • Optional Readonlyforce?: boolean

          Whether to download an artifact regardless of whether it's in the cache directory.

          false

          This option is deprecated and directly maps to cacheMode: ElectronDownloadCacheMode.WriteOnly

        • Optional ReadonlymirrorOptions?: {
              customDir?: string;
              customFilename?: string;
              customVersion?: string;
              mirror?: string;
              nightly_mirror?: string;
              nightlyMirror?: string;
              resolveAssetURL?: {};
          }

          Options related to specifying an artifact mirror.

          • Optional ReadonlycustomDir?: string

            The name of the directory to download from, often scoped by version number e.g 'v4.0.4'

          • Optional ReadonlycustomFilename?: string

            The name of the asset to download, e.g 'electron-v4.0.4-linux-x64.zip'

          • Optional ReadonlycustomVersion?: string

            The version of the asset to download, e.g '4.0.4'

          • Optional Readonlymirror?: string

            The base URL of the mirror to download from. e.g https://github.com/electron/electron/releases/download

          • Optional Readonlynightly_mirror?: string

            MirrorOptions.nightlyMirror

          • Optional ReadonlynightlyMirror?: string

            The mirror URL for electron-nightly, which lives in a separate npm package.

          • Optional ReadonlyresolveAssetURL?: {}

            A function allowing customization of the url returned from getArtifactRemoteURL().

        • Optional ReadonlytempDirectory?: string

          A temporary directory for downloads. It is used before artifacts are put into cache.

          the OS default temporary directory via os.tmpdir()

        • Optional ReadonlyunsafelyDisableChecksums?: boolean

          When set to true, disables checking that the artifact download completed successfully with the correct payload.

          false

      • Optional ReadonlyelectronZipDir?: string

        The local path to a directory containing Electron ZIP files for Electron Packager to unzip, instead of downloading them. The ZIP filenames should be in the same format as the ones downloaded from the Electron releases site.

        Note: Setting this option prevents the download sub-options from being used, as the functionality gets skipped over.

      • Optional ReadonlyexecutableName?: string

        The name of the executable file, sans file extension. Defaults to the value for the name option. For darwin or mas target platforms, this does not affect the name of the .app folder - this will use the name option instead.

      • Optional ReadonlyextendHelperInfo?: string | { readonly [key: string]: any }

        When the value is a string, specifies the filename of a plist file. Its contents are merged into all the Helper apps' Info.plist files. When the value is an Object, it specifies an already-parsed plist data structure that is merged into all the Helper apps' Info.plist files.

        Entries from extendHelperInfo override entries in the helper apps' Info.plist file supplied by electron or electron-nightly, but are overridden by other options such as appVersion or appBundleId.

      • Optional ReadonlyextendInfo?: string | { readonly [key: string]: any }

        When the value is a string, specifies the filename of a plist file. Its contents are merged into the app's Info.plist. When the value is an Object, it specifies an already-parsed plist data structure that is merged into the app's Info.plist.

        Entries from extendInfo override entries in the base Info.plist file supplied by electron or electron-nightly, but are overridden by other options such as appVersion or appBundleId.

      • Optional ReadonlyextraResource?: string | readonly string[]

        One or more files to be copied directly into the app's Contents/Resources directory for macOS target platforms, and the resources directory for other target platforms. The resources directory can be referenced in the packaged app via the process.resourcesPath value.

      • Optional ReadonlyhelperBundleId?: string

        The bundle identifier to use in the application helper's Info.plist.

      • Optional Readonlyicon?: string | readonly string[]

        The local path to the icon file, if the target platform supports setting embedding an icon.

        Only macOS supports multiple paths, every other platform must be a single path. On macOS you can provide both an .icns and an .icon file. The .icns file will be used on macOS < 26 and .icon will be used on macOS >= 26.

        Currently you must look for conversion tools in order to supply an icon in the format required by the platform:

        • macOS: .icon from Icon Composer (only supported if Xcode 26 or higher is present) or .icns
        • Windows: .ico (See the readme for details on non-Windows platforms)
        • Linux: this option is not supported, as the dock/window list icon is set via the icon option in the BrowserWindow constructor. Please note that you need to use a PNG, and not the macOS or Windows icon formats, in order for it to show up in the dock/window list. Setting the icon in the file manager is not currently supported.

        If the file extension is omitted, it is auto-completed to the correct extension based on the platform, including when platform |platform: 'all' is in effect.

      • Optional Readonlyignore?:
            | {
                "[match]": {};
                "[matchAll]": {};
                "[replace]": {};
                "[search]": {};
                "[split]": {};
                compile: {};
                dotAll: boolean;
                exec: {};
                flags: string;
                global: boolean;
                hasIndices: boolean;
                ignoreCase: boolean;
                lastIndex: number;
                multiline: boolean;
                source: string;
                sticky: boolean;
                test: {};
                unicode: boolean;
            }
            | readonly (
                | string
                | {
                    "[match]": {};
                    "[matchAll]": {};
                    "[replace]": {};
                    "[search]": {};
                    "[split]": {};
                    compile: {};
                    dotAll: boolean;
                    exec: {};
                    flags: string;
                    global: boolean;
                    hasIndices: boolean;
                    ignoreCase: boolean;
                    lastIndex: number;
                    multiline: boolean;
                    source: string;
                    sticky: boolean;
                    test: {};
                    unicode: boolean;
                }
            )[]
            | {}

        One or more additional regular expression patterns which specify which files to ignore when copying files to create the app bundle(s). The regular expressions are matched against the absolute path of a given file/directory to be copied.

        Please note that glob patterns will not work.

        The following paths are always ignored (when you aren't using an IgnoreFunction):

        • the directory specified by the out option
        • the temporary directory used to build the Electron app
        • node_modules/.bin
        • node_modules/electron
        • node_modules/electron-nightly
        • .git
        • files and folders ending in .o and .obj

        Note: Node modules specified in devDependencies are ignored by default, via the prune option.

        Note: ignore will have no effect if the prebuiltAsar option is set.

      • Optional Readonlyjunk?: boolean

        Ignores system junk files when copying the Electron app, regardless of the ignore option.

        Note: junk will have no effect if the prebuiltAsar option is set.

      • Optional Readonlyname?: string

        The application name. If omitted, it will use the productName or name value from the nearest package.json.

        Regardless of source, characters in the Electron app name which are not allowed in all target platforms' filenames (e.g., /), will be replaced by hyphens (-).

      • Optional ReadonlyosxNotarize?:
            | { appleId: string; appleIdPassword: string; teamId: string }
            | { appleApiIssuer: string; appleApiKey: string; appleApiKeyId: string }
            | { keychain?: string; keychainProfile: string }

        If present, notarizes macOS target apps when the host platform is macOS and Xcode is installed. See @electron/notarize for option descriptions, such as how to use appleIdPassword safely or obtain an API key.

        Requires the osxSign option to be set.

      • Optional ReadonlyosxSign?:
            | true
            | {
                identity?: string;
                identityValidation?: boolean;
                ignore?: string
                | readonly string[]
                | {};
                keychain?: string;
                optionsForFile?: {};
                preAutoEntitlements?: boolean;
                preEmbedProvisioningProfile?: boolean;
                provisioningProfile?: string;
                strictVerify?: string | boolean;
                type?: SigningDistributionType;
            }

        If present, signs macOS target apps when the host platform is macOS and Xcode is installed. When the value is true, pass default configuration to the signing module. See @electron/osx-sign for sub-option descriptions and their defaults. Options include, but are not limited to:

        • identity (string): The identity used when signing the package via codesign.
        • binaries (array): Path to additional binaries that will be signed along with built-ins of Electron/
      • Optional ReadonlyosxUniversal?: {
            infoPlistsToIgnore?: string;
            mergeASARs?: boolean;
            singleArchFiles?: string;
            x64ArchFiles?: string;
        }

        Used to provide custom options to the internal call to @electron/universal when building a macOS app with the target architecture of "universal". Unused otherwise, providing a value does not imply a universal app is built.

        • Optional ReadonlyinfoPlistsToIgnore?: string

          A minimatch pattern of Info.plist paths that should not receive an injected ElectronAsarIntegrity value.

          Use this if your application contains another bundle that's already signed.

        • Optional ReadonlymergeASARs?: boolean

          Merge x64 and arm64 ASARs into one.

          false

        • Optional ReadonlysingleArchFiles?: string

          If MakeUniversalOpts.mergeASARs is enabled, this property provides a minimatch pattern of paths that are allowed to be present in one of the ASAR files, but not in the other.

        • Optional Readonlyx64ArchFiles?: string

          A minimatch pattern of binaries that are expected to be the same x64 binary in both

          Use this if your application contains binaries that have already been merged into a universal file using the lipo tool.

          Apple's Building a universal macOS binary documentation

      • Optional Readonlyoverwrite?: boolean

        Whether to replace an already existing output directory for a given platform (true) or skip recreating it (false). Defaults to false.

      • Optional ReadonlyprebuiltAsar?: string

        The path to a prebuilt ASAR file.

        Note: Setting this option prevents the following options from being used, as the functionality gets skipped over:

      • Optional Readonlyprotocols?: readonly { name: string; schemes: readonly string[] }[]

        The URL protocol schemes associated with the Electron app.

      • Optional Readonlyprune?: boolean

        Walks the node_modules dependency tree to remove all of the packages specified in the devDependencies section of package.json from the outputted Electron app.

        Defaults to true.

        Note: prune will have no effect if the prebuiltAsar option is set.

      • Optional Readonlyquiet?: boolean

        If true, disables printing informational and warning messages to the console when packaging the application. This does not disable errors.

        Defaults to false.

      • Optional Readonlytmpdir?: string | false

        The base directory to use as a temporary directory. Set to false to disable use of a temporary directory. Defaults to the system's temporary directory.

      • Optional ReadonlyusageDescription?: { readonly [key: string]: string }

        Human-readable descriptions of how the Electron app uses certain macOS features. These are displayed in the App Store. A non-exhaustive list of available properties:

        • Camera - required for media access API usage in macOS Catalina
        • Microphone - required for media access API usage in macOS Catalina

        Valid properties are the Cocoa keys for MacOS of the pattern NS(.*)UsageDescription, where the captured group is the key to use.

        {
        usageDescription: {
        Camera: 'Needed for video calls',
        Microphone: 'Needed for voice calls'
        }
        }
      • Optional Readonlywin32metadata?: {
            "application-manifest"?: string;
            CompanyName?: string;
            FileDescription?: string;
            InternalName?: string;
            OriginalFilename?: string;
            ProductName?: string;
            "requested-execution-level"?:
                | "asInvoker"
                | "highestAvailable"
                | "requireAdministrator";
        }

        Application metadata to embed into the Windows executable.

        • Optional Readonlyapplication-manifest?: string

          Path to a local manifest file.

          See MSDN for more details.

        • Optional ReadonlyCompanyName?: string

          Defaults to the author name from the nearest package.json.

        • Optional ReadonlyFileDescription?: string

          Defaults to either productName or name from the nearest package.json.

        • Optional ReadonlyInternalName?: string

          Defaults to either productName or name from the nearest package.json.

        • Optional ReadonlyOriginalFilename?: string

          Defaults to the renamed Electron .exe file.

        • Optional ReadonlyProductName?: string

          Defaults to either productName or name from the nearest package.json.

        • Optional Readonlyrequested-execution-level?: "asInvoker" | "highestAvailable" | "requireAdministrator"

          See MSDN for details.

      • Optional ReadonlywindowsSign?:
            | true
            | {
                automaticallySelectCertificate?: boolean;
                certificateFile?: string;
                certificatePassword?: string;
                continueOnError?: boolean;
                debug?: boolean;
                description?: string;
                hashes?: readonly HASHES[];
                hookFunction?: {};
                hookModulePath?: string;
                signJavaScript?: boolean;
                signToolPath?: string;
                signWithParams?: string
                | readonly string[];
                timestampServer?: string;
                website?: string;
            }

        If present, signs Windows binary files. When the value is true, pass default configuration to the signing module. See @electron/windows-sign for sub-option descriptions and their defaults.

    • Readonlyplugins: readonly (
          | { config?: any; name: string }
          | { getHooks?: {}; init: {}; name: string; startLogic?: {} }
      )[]

      An array of Forge plugins or a tuple consisting of [pluginName, pluginOptions]

    • Readonlypublishers: readonly (
          | { config?: any; name: string; platforms?: readonly string[]
          | null }
          | { platforms?: readonly string[] }
      )[]
    • ReadonlyrebuildConfig: {
          buildFromSource?: boolean;
          cachePath?: string;
          debug?: boolean;
          disablePreGypCopy?: boolean;
          extraModules?: readonly string[];
          force?: boolean;
          forceABI?: number;
          headerURL?: string;
          ignoreModules?: readonly string[];
          jobs?: number;
          mode?: RebuildMode;
          onlyModules?: readonly string[] | null;
          platform?: Platform;
          prebuildTagPrefix?: string;
          projectRootPath?: string;
          types?: readonly ModuleType[];
          useCache?: boolean;
          useElectronClang?: boolean;
      }
      • Optional ReadonlybuildFromSource?: boolean

        Skip prebuild download and rebuild module from source.

        false
        
      • Optional Readonly ExperimentalcachePath?: string

        Sets a custom cache path for the useCache option.

        a .electron-rebuild-cache folder in the os.homedir() directory

      • Optional Readonlydebug?: boolean

        Rebuilds a Debug build of target modules. If this is false, a Release build will be generated instead.

        false
        
      • Optional ReadonlydisablePreGypCopy?: boolean

        Disables the copying of .node files if not needed.

        false
        
      • Optional ReadonlyextraModules?: readonly string[]

        An array of module names to rebuild in addition to detected modules

        []
        
      • Optional Readonlyforce?: boolean

        Force a rebuild of modules regardless of their current build state.

      • Optional ReadonlyforceABI?: number

        Override the Application Binary Interface (ABI) version for the version of Electron you are targeting. Only use when targeting nightly releases.

        the electron/node-abi repository for a list of Electron and Node.js ABIs

      • Optional ReadonlyheaderURL?: string

        URL to download Electron header files from.

        https://www.electronjs.org/headers

      • Optional ReadonlyignoreModules?: readonly string[]

        Array of module names to ignore during the rebuild process.

      • Optional Readonlyjobs?: number

        Number of parallel compile jobs node-gyp should run, passed through as node-gyp's --jobs flag.

        node-gyp's own default when unset
        
      • Optional Readonlymode?: RebuildMode

        Whether to rebuild modules sequentially or in parallel.

        sequential

      • Optional ReadonlyonlyModules?: readonly string[] | null

        An array of module names to rebuild. Only these modules will be rebuilt.

      • Optional Readonlyplatform?: Platform

        Override the target platform to something other than the host system platform. Note: This only applies to downloading prebuilt binaries. It is not possible to cross-compile native modules.

        The system process.platform value

      • Optional ReadonlyprebuildTagPrefix?: string

        GitHub tag prefix passed to prebuild-install.

        v

      • Optional ReadonlyprojectRootPath?: string

        Path to the root of the project if using npm or yarn workspaces.

      • Optional Readonlytypes?: readonly ModuleType[]

        Array of types of dependencies to rebuild. Possible values are prod, dev, and optional.

        ['prod', 'optional']

      • Optional Readonly ExperimentaluseCache?: boolean

        Enables hash-based caching to speed up local rebuilds.

        false
        
      • Optional ReadonlyuseElectronClang?: boolean

        Whether to use the clang executable that Electron uses when building. This will guarantee compiler compatibility.

        false
        
    makeDir: string

    The directory you should put all your artifacts in (potentially in sub folders) NOTE: this directory is not guarunteed to already exist

    packageJSON: PackageJSON

    The application's package.json file

    targetArch: ForgeArch

    The target architecture you should make for

    targetPlatform: string

    The target platform you should make for