/**
 * PE Resource replace config.
 */
export interface IPeResourceReplace {
    /**
     * Replace icons if not null.
     *
     * @default null
     */
    iconData?: Readonly<Uint8Array> | 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 data File data.
 * @param options Replacement options.
 * @returns Modified data.
 */
export declare function peResourceReplace(data: Readonly<Uint8Array>, options: Readonly<IPeResourceReplace>): Uint8Array;
/**
 * Get Windows launcher for the specified type.
 *
 * @param type Executable type.
 * @param resources Data to optionally copy resources from.
 * @returns Launcher data.
 */
export declare function windowsLauncher(type: string, resources?: (() => Promise<Uint8Array>) | null): Promise<Uint8Array>;
/**
 * Patch Windows Shockwave 3D InstalledDisplayDrivers size.
 *
 * @param data File data.
 */
export declare function windowsPatch3dDisplayDriversSize(data: Uint8Array): void;
