/// <reference types="node" />
import { Projector } from '../projector';
/**
 * ProjectorWindows constructor.
 *
 * @param path Output path.
 */
export declare abstract class ProjectorWindows extends Projector {
    /**
     * Icon file.
     */
    iconFile: string | null;
    /**
     * Icon data.
     */
    iconData: Readonly<Buffer> | null;
    /**
     * Version strings.
     */
    versionStrings: Readonly<{
        [key: string]: string;
    }> | null;
    constructor(path: string);
    /**
     * Projector file extension.
     *
     * @returns File extension.
     */
    get extension(): string;
    /**
     * Config file newline characters.
     *
     * @returns Newline characters.
     */
    get configNewline(): string;
    /**
     * Lingo file newline characters.
     *
     * @returns Newline characters.
     */
    get lingoNewline(): string;
    /**
     * Splash image file extension.
     *
     * @returns File extension.
     */
    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<Buffer | Readonly<Buffer> | null>;
    /**
     * Write the projector skeleton from archive.
     *
     * @param skeleton Skeleton path.
     */
    protected _writeSkeleton(skeleton: string): Promise<void>;
    /**
     * Modify the projector skeleton.
     */
    protected _modifySkeleton(): Promise<void>;
}
