import { Arch, AsyncTaskManager, DebugLogger } from "builder-util"; import { FileTransformer } from "builder-util/out/fs"; import { AppInfo } from "./appInfo"; import { GetFileMatchersOptions } from "./fileMatcher"; import { AfterPackContext, CompressionLevel, Configuration, ElectronPlatformName, FileAssociation, Packager, PackagerOptions, Platform, PlatformSpecificBuildOptions, Target, TargetSpecificOptions } from "./index"; export declare abstract class PlatformPackager { readonly info: Packager; readonly platform: Platform; get packagerOptions(): PackagerOptions; get buildResourcesDir(): string; get projectDir(): string; get config(): Configuration; readonly platformSpecificBuildOptions: DC; get resourceList(): Promise>; private readonly _resourceList; readonly appInfo: AppInfo; protected constructor(info: Packager, platform: Platform); get compression(): CompressionLevel; get debugLogger(): DebugLogger; abstract get defaultTarget(): Array; protected prepareAppInfo(appInfo: AppInfo): AppInfo; private static normalizePlatformSpecificBuildOptions; abstract createTargets(targets: Array, mapper: (name: string, factory: (outDir: string) => Target) => void): void; protected getCscPassword(): string; protected getCscLink(extraEnvName?: string | null): string | null | undefined; protected doGetCscPassword(): string | null | undefined; protected computeAppOutDir(outDir: string, arch: Arch): string; dispatchArtifactCreated(file: string, target: Target | null, arch: Arch | null, safeArtifactName?: string | null): Promise; pack(outDir: string, arch: Arch, targets: Array, taskManager: AsyncTaskManager): Promise; protected packageInDistributableFormat(appOutDir: string, arch: Arch, targets: Array, taskManager: AsyncTaskManager): void; private static buildAsyncTargets; private getExtraFileMatchers; createGetFileMatchersOptions(outDir: string, arch: Arch, customBuildOptions: PlatformSpecificBuildOptions): GetFileMatchersOptions; protected doPack(outDir: string, appOutDir: string, platformName: ElectronPlatformName, arch: Arch, platformSpecificBuildOptions: DC, targets: Array, sign?: boolean, disableAsarIntegrity?: boolean): Promise; protected doSignAfterPack(outDir: string, appOutDir: string, platformName: ElectronPlatformName, arch: Arch, platformSpecificBuildOptions: DC, targets: Array): Promise; protected createTransformerForExtraFiles(packContext: AfterPackContext): FileTransformer | null; private copyAppFiles; protected signApp(packContext: AfterPackContext, isAsar: boolean): Promise; getIconPath(): Promise; private computeAsarOptions; getElectronSrcDir(dist: string): string; getElectronDestinationDir(appOutDir: string): string; getResourcesDir(appOutDir: string): string; getMacOsResourcesDir(appOutDir: string): string; private checkFileInPackage; private sanityCheckPackage; computeSafeArtifactName(suggestedName: string | null, ext: string, arch?: Arch | null, skipDefaultArch?: boolean, defaultArch?: string, safePattern?: string): string | null; expandArtifactNamePattern(targetSpecificOptions: TargetSpecificOptions | null | undefined, ext: string, arch?: Arch | null, defaultPattern?: string, skipDefaultArch?: boolean, defaultArch?: string): string; artifactPatternConfig(targetSpecificOptions: TargetSpecificOptions | null | undefined, defaultPattern: string | undefined): { isUserForced: boolean; pattern: string; }; expandArtifactBeautyNamePattern(targetSpecificOptions: TargetSpecificOptions | null | undefined, ext: string, arch?: Arch | null): string; private computeArtifactName; expandMacro(pattern: string, arch?: string | null, extra?: any, isProductNameSanitized?: boolean): string; generateName2(ext: string | null, classifier: string | null | undefined, deployment: boolean): string; getTempFile(suffix: string): Promise; get fileAssociations(): Array; getResource(custom: string | null | undefined, ...names: Array): Promise; get forceCodeSigning(): boolean; protected getOrConvertIcon(format: IconFormat): Promise; getDefaultFrameworkIcon(): string | null; resolveIcon(sources: Array, fallbackSources: Array, outputFormat: IconFormat): Promise>; } export interface IconInfo { file: string; size: number; } export declare type IconFormat = "icns" | "ico" | "set"; export declare function isSafeGithubName(name: string): boolean; export declare function computeSafeArtifactNameIfNeeded(suggestedName: string | null, safeNameProducer: () => string): string | null; export declare function normalizeExt(ext: string): string; export declare function resolveFunction(executor: T | string, name: string): T; export declare function chooseNotNull(v1: string | null | undefined, v2: string | null | undefined): string | null | undefined; export declare function isSafeToUnpackElectronOnRemoteBuildServer(packager: PlatformPackager): boolean;