import { IFileFilter, IFilePatch, ProjectorSa } from '../sa.ts'; /** * ProjectorSaMac object. */ export declare class ProjectorSaMac extends ProjectorSa { /** * Binary name, also renames rsrc and icns. */ binaryName: string | null; /** * Icon data. */ iconData: Readonly | (() => Readonly) | (() => Promise>) | null; /** * Icon file. */ iconFile: string | null; /** * Info.plist data. * Currently only supports XML plist. */ infoPlistData: string | Readonly | (() => string | Readonly) | (() => Promise>) | null; /** * Info.plist file. * Currently only supports XML plist. */ infoPlistFile: string | null; /** * PkgInfo data. */ pkgInfoData: string | Readonly | (() => Readonly) | (() => Promise>) | null; /** * PkgInfo file. */ pkgInfoFile: string | null; /** * Update the bundle name in Info.plist. * Possible values: * - false: Leave untouched. * - true: Output name. * - null: Remove value. * - string: Custom value. */ bundleName: boolean | string | null; /** * Remove the file associations in Info.plist. */ removeFileAssociations: boolean; /** * Remove InfoPlist.strings localization files if present. */ removeInfoPlistStrings: boolean; /** * Remove the code signature. * Modern projectors are codesigned so that any changes breaks it. * No signature is better than a broken one. */ removeCodeSignature: boolean; /** * Attempt to patch the window title with a custom title. * Currently supports versions 11+. */ patchWindowTitle: string | null; /** * ProjectorSaMac constructor. * * @param path Output path. */ constructor(path: string); /** * @inheritdoc */ get extension(): string; /** * Get app icon name, custom. * * @returns File name. */ get appIconName(): string | null; /** * Get app rsrc name, custom. * * @returns File name. */ get appRsrcName(): string | null; /** * Get app movie path. * * @returns File path. */ get appPathMovie(): string; /** * Get app Info.plist path. * * @returns File path. */ get appPathInfoPlist(): string; /** * Get app PkgInfo path. * * @returns File path. */ get appPathPkgInfo(): string; /** * Get the movie path. * * @returns Icon path. */ get moviePath(): string; /** * Get the Info.plist path. * * @returns Icon path. */ get infoPlistPath(): string; /** * Get the PkgInfo path. * * @returns Icon path. */ get pkgInfoPath(): string; /** * Get the binary path. * * @param binaryName Binary name. * @returns Binary path. */ getBinaryPath(binaryName: string): string; /** * Get the rsrc path. * * @param name The name. * @param addExt Add extension. * @returns Rsrc path. */ getRsrcPath(name: string, addExt?: boolean): string; /** * Get the icon path. * * @param iconName Icon name. * @returns Icon path. */ getIconPath(iconName: string): string; /** * Get icon data if any specified, from data or file. * * @returns Icon data or null. */ getIconData(): Promise | null>; /** * Get Info.plist data if any specified, from data or file. * * @returns Info.plist data or null. */ getInfoPlistData(): Promise; /** * Get PkgInfo data if any specified, from data or file. * * @returns PkgInfo data or null. */ getPkgInfoData(): Promise | null>; /** * Get configured bundle name, or null to remove. * * @returns New name or null. */ getBundleName(): string | false | null; /** * @inheritdoc */ protected _writePlayer(player: string): Promise; /** * Write out the projector movie file. */ protected _writeMovie(): Promise; /** * Get filters to apply. * * @returns Filter list. */ protected _getFilters(): Promise; /** * Get filter for InfoPlist.strings. * * @returns Filter spec. */ protected _getFilterInfoPlistStrings(): Promise; /** * Get filter for code signature paths. * * @returns Filter spec. */ protected _getFilterCodeSignature(): Promise; /** * Get patches to apply. * * @returns Patches list. */ protected _getPatches(): Promise; /** * Get patch for PkgInfo. * * @returns Patch spec. */ protected _getPatchPkgInfo(): Promise; /** * Get patch for binary. * * @returns Patch spec. */ protected _getPatchBinary(): Promise; /** * Get patch for Info.plist and dependancies. * * @returns Patch spec. */ protected _getPatchInfoPlist(): Promise; /** * Get patch for movie. * * @returns Patch spec. */ protected _getPatchMovie(): Promise; }