import { MemoLazy } from "builder-util-runtime"; import { Lazy } from "lazy-val"; import { Target } from "../core"; import { WindowsConfiguration } from "../options/winOptions"; import { ToolInfo } from "../util/bundledTool"; import { VmManager } from "../vm/vm"; import { WinPackager } from "../winPackager"; import { SignManager } from "./signManager"; import { WindowsSignOptions } from "./windowsCodeSign"; export declare function getSignVendorPath(): Promise; export type CustomWindowsSign = (configuration: CustomWindowsSignTaskConfiguration, packager?: WinPackager) => Promise; export interface WindowsSignToolOptions extends WindowsSignOptions { readonly name: string; readonly site: string | null; } export interface FileCodeSigningInfo { readonly file: string; readonly password: string | null; } export interface WindowsSignTaskConfiguration extends WindowsSignToolOptions { readonly cscInfo: FileCodeSigningInfo | CertificateFromStoreInfo | null; resultOutputPath?: string; hash: string; isNest: boolean; } export interface CustomWindowsSignTaskConfiguration extends WindowsSignTaskConfiguration { computeSignToolArgs(isWin: boolean): Array; } export interface CertificateInfo { readonly commonName: string; readonly bloodyMicrosoftSubjectDn: string; } export interface CertificateFromStoreInfo { thumbprint: string; subject: string; store: string; isLocalMachineStore: boolean; } export declare class WindowsSignToolManager implements SignManager { private readonly packager; private readonly platformSpecificBuildOptions; constructor(packager: WinPackager); readonly computedPublisherName: Lazy; readonly lazyCertInfo: MemoLazy, CertificateInfo | null>; readonly cscInfo: MemoLazy; initialize(): Promise; computePublisherName(target: Target, publisherName: string): Promise; signFile(options: WindowsSignOptions): Promise; getCertInfo(file: string, password: string): Promise; computeSignToolArgs(options: WindowsSignTaskConfiguration, isWin: boolean, vm?: VmManager): Array; getOutputPath(inputPath: string, hash: string): string; getWinSignTool(vendorPath: string): string; getToolPath(isWin?: boolean): Promise; getCertificateFromStoreInfo(options: WindowsConfiguration, vm: VmManager): Promise; doSign(configuration: CustomWindowsSignTaskConfiguration, packager: WinPackager): Promise; } export declare function isOldWin6(): boolean;