/** * `.AppImage` packaging — squashfs-compresses a just-assembled AppDir (see * bundle.ts's `bundleLinux`) and prepends the AppImage type-2 runtime, * producing a single self-mounting, executable file. Re-homed from the * pre-v1 `src/appimage.ts` (see PROTECTED.md) with the AppDir-building half * removed — bundle.ts now owns that (the resources layout must match the * macOS/win32 bundles exactly), leaving this module with just the * runtime-download + squashfs + concat mechanics. * * Host setup: `mksquashfs` must be on PATH. * macOS: brew install squashfs * Debian/Ubuntu: apt install squashfs-tools * Fedora: dnf install squashfs-tools */ export type LinuxArch = 'arm64' | 'x64'; /** Whether `mksquashfs` (the `squashfs-tools` package) is on PATH. */ export declare function detectMksquashfs(): boolean; /** * Downloads (or returns the cached copy of) the official AppImage type-2 * runtime ELF binary for `arch` — what `buildAppImage` prepends to the * squashfs filesystem image to produce a self-mounting `.AppImage`. Cached * at `~/.murasaki/appimage-runtime///runtime`, a sibling of * node-runtime.ts's `~/.murasaki/node/` cache under the same `~/.murasaki` * cache root; a second call for the same release/arch returns the cached * path immediately with no network access. SHA-256-verified against the * pinned checksums above — this is an executable that gets shipped inside * every produced `.AppImage`. */ export declare function ensureAppImageRuntime(arch: LinuxArch): Promise; /** * Squashfs-compresses `appDir` and prepends the AppImage type-2 runtime (see * `ensureAppImageRuntime`) to produce a self-mounting `.AppImage` at * `appImagePath`, then chmod +x. Requires `mksquashfs` on PATH — throws an * actionable error naming the `squashfs-tools` package rather than silently * degrading (e.g. to a plain `.tar.gz`, what the pre-v1 version did): unlike * NSIS/WiX (optional installers alongside the always-produced win32 portable * folder/zip — see installer.ts), the `.AppImage` is bundle.ts's only Linux * packaged deliverable besides the raw AppDir, so silently skipping it would * leave `murasaki bundle --target linux-*` with no packaged output at all. */ export declare function buildAppImage(appDir: string, appImagePath: string, arch: LinuxArch): Promise; //# sourceMappingURL=appimage.d.ts.map