/// <reference types="node" />
export interface IPeResourceReplace {
    /**
     * Replace icons if not null.
     *
     * @default null
     */
    iconData?: Readonly<Buffer> | null;
    /**
     * Replace version strings if not null.
     *
     * @default null
     */
    versionStrings?: Readonly<{
        [key: string]: string;
    }> | null;
    /**
     * If true remove signature if present.
     *
     * @default false
     */
    removeSignature?: boolean | null;
}
/**
 * Parse PE version string to integers (MS then LS bits) or null.
 *
 * @param version Version string.
 * @returns Version integers ([MS, LS]) or null.
 */
export declare function peVersionInts(version: string): [number, number] | null;
/**
 * Replace resources in Windows PE file.
 *
 * @param path File path.
 * @param options Replacement options.
 */
export declare function peResourceReplace(path: string, options: Readonly<IPeResourceReplace>): Promise<void>;
/**
 * Get Windows launcher for the specified type.
 *
 * @param type Executable type.
 * @param resources File to optionally copy resources from.
 * @returns Launcher data.
 */
export declare function windowsLauncher(type: 'i686' | 'x86_64', resources?: string | null): Promise<Buffer>;
/**
 * Patch Windows Shockwave 3D InstalledDisplayDrivers size.
 *
 * @param file File path.
 */
export declare function windowsPatchShockwave3dInstalledDisplayDriversSize(file: string): Promise<void>;
