import { IFilePatch, ProjectorOtto } from '../otto.ts';
/**
 * ProjectorOttoWindows object.
 */
export declare class ProjectorOttoWindows extends ProjectorOtto {
    /**
     * Icon file.
     */
    iconFile: string | null;
    /**
     * Icon data.
     */
    iconData: Readonly<Uint8Array> | (() => Readonly<Uint8Array>) | (() => Promise<Readonly<Uint8Array>>) | null;
    /**
     * Version strings.
     */
    versionStrings: Readonly<{
        [key: string]: string;
    }> | null;
    /**
     * Patch the Shockave 3D Xtra to have a larger buffer to avoid a crash.
     * The buffer for resolving InstalledDisplayDrivers to a path is small.
     * Changes to the values stored in InstalledDisplayDrivers cause issues.
     * The value is now supposed to hold full paths on modern Windows.
     * In particular, Nvidia drivers which do this need this patch.
     */
    patch3dDisplayDriversSize: boolean;
    /**
     * ProjectorOttoWindows constructor.
     *
     * @param path Output path.
     */
    constructor(path: string);
    /**
     * @inheritdoc
     */
    get extension(): string;
    /**
     * @inheritdoc
     */
    get configNewline(): string;
    /**
     * @inheritdoc
     */
    get lingoNewline(): string;
    /**
     * @inheritdoc
     */
    get splashImageExtension(): string;
    /**
     * Get the SKL name.
     *
     * @returns File name.
     */
    get sklName(): string;
    /**
     * Get icon data if any specified, from data or file.
     *
     * @returns Icon data or null.
     */
    getIconData(): Promise<Readonly<Uint8Array> | null>;
    /**
     * @inheritdoc
     */
    protected _writeSkeleton(skeleton: string): Promise<void>;
    /**
     * Get patches to apply.
     *
     * @returns Patches list.
     */
    protected _getPatches(): Promise<IFilePatch[]>;
    /**
     * Get patch for main file resources.
     *
     * @returns Patch spec.
     */
    protected _getPatchResources(): Promise<IFilePatch | null>;
    /**
     * Get patch for Shockwave 3D InstalledDisplayDrivers size.
     *
     * @returns Patch spec.
     */
    protected _getPatch3dDisplayDriversSize(): IFilePatch | null;
}
