import { CopyFilterAsync, CopyFilterSync } from 'fs-extra'; export { spawn } from '@malept/cross-spawn-promise'; export type CatchableFunction = (err: Error) => void; export type Configuration = { arch?: string; bin?: string; categories?: string[]; description?: string; execArguments?: string[]; genericName?: string; homepage?: string; mimeType?: string[]; name?: string; productDescription?: string; productName?: string; revision?: string; }; export type DependencyType = 'atspi' | 'drm' | 'gbm' | 'gconf' | 'glib2' | 'gtk2' | 'gtk3' | 'gvfs' | 'kdeCliTools' | 'kdeRuntime' | 'notify' | 'nss' | 'trashCli' | 'uuid' | 'xcbDri3' | 'xss' | 'xtst' | 'xdgUtils'; export type DependencyMap = Record; export type ReadMetadataOptions = { logger: (msg: string) => void; src: string; }; export type PackageJSON = Record; export type UserSuppliedOptions = { src?: string; options?: Record; } & Record; export class ElectronInstaller { constructor(userSupplied: UserSuppliedOptions); readonly appIdentifier: string; readonly baseAppDir: string; readonly contentFunctions: string[]; readonly defaultDesktopTemplatePath: string; readonly pixmapIconPath: string; readonly sourceDir: string | undefined; readonly stagingAppDir: string; copyApplication(ignoreFunc: CopyFilterAsync | CopyFilterSync): Promise; copyHicolorIcons(): Promise; copyIcon(src: string, dest: string): Promise; copyLicense(copyrightFile: string): Promise; copyLinuxIcons(): Promise; copyPixmapIcon(): Promise; createBinarySymlink(): Promise; createContents(): Promise; createCopyright(): Promise; createDesktopFile(): Promise; createStagingDir(): Promise; createTemplatedFile(): Promise; generateOptions(): void; movePackage(): Promise; updateSandboxHelperPermissions(): Promise; } export function createDesktopFile(templatePath: string, dir: string, baseName: string, options: Record): Promise; export function createTemplatedFile(templatePath: string, dest: string, options: Record, filePermissions?: number): Promise; export function errorMessage(message: string, err: Error): string; export function generateTemplate(templatePath: string, data: Record): Promise; export function getATSPIDepends(version: string, dependencyMap: DependencyMap): string[]; export function getDRMDepends(version: string, dependencyMap: DependencyMap): string[]; export function getDefaultsFromPackageJSON(pkg: PackageJSON, fallbacks?: Pick): Configuration; export function getDepends(version: string, dependencyMap: DependencyMap): string[]; export function getGBMDepends(version: string, dependencyMap: DependencyMap): string[]; export function getGConfDepends(version: string, dependencyMap: DependencyMap): string[]; export function getGTKDepends(version: string, dependencyMap: DependencyMap): string[]; export function getTrashDepends(version: string, dependencyMap: DependencyMap): string[]; export function getUUIDDepends(version: string, dependencyMap: DependencyMap): string[]; export function getXcbDri3Depends(version: string, dependencyMap: DependencyMap): string[]; export function getXssDepends(version: string, dependencyMap: DependencyMap): string[]; export function getXtstDepends(version: string, dependencyMap: DependencyMap): string[]; export function hasSandboxHelper(appDir: string): boolean; export function mergeUserSpecified(data: Record, dependencyKey: string, defaults: Record): Record; export function readElectronVersion(appDir: string): Promise; export function readMetadata(options: ReadMetadataOptions): Promise; export function replaceScopeName(name?: string, divider?: string): string; export function sanitizeName(name: string, allowedCharacterRange: string, replacement?: string): string; export function updateSandboxHelperPermissions(appDir: string): Promise; export function wrapError(message: string): CatchableFunction; export function wrapError(message: string, wrappedFunction: () => Promise): Promise;