/// <reference types="node" />
import { Packager } from '../packager';
/**
 * PackagerAdl constructor.
 *
 * @param path Output path.
 */
export declare abstract class PackagerAdl extends Packager {
    /**
     * Path to the SDK, an archive or directory.
     */
    sdkPath: string | null;
    /**
     * Application pubid.
     */
    pubid: string | null;
    /**
     * Application profile.
     */
    profile: string | null;
    /**
     * Application screensize.
     */
    screensize: string | null;
    /**
     * Application nodebug.
     */
    nodebug: boolean;
    /**
     * Application atlogin.
     */
    atlogin: boolean;
    constructor(path: string);
    /**
     * Package mimetype.
     *
     * @returns Mimetype string.
     */
    get mimetype(): string;
    /**
     * Package signed.
     *
     * @returns Boolean for if package is signed or not.
     */
    get signed(): boolean;
    /**
     * Get app sdk path.
     *
     * @returns Resources path.
     */
    get appSdkPath(): string;
    /**
     * Get app resources path.
     *
     * @returns Resources path.
     */
    get appResourcesPath(): string;
    /**
     * Get app run path.
     *
     * @returns Resources path.
     */
    abstract get appRunPath(): string;
    /**
     * Open the configured SDK.
     *
     * @returns Archive instance.
     */
    protected _openSdk(): Promise<import("@shockpkg/archive-files").Archive>;
    /**
     * Generate aruments.
     *
     * @returns Argument options.
     */
    protected _generateOptionArguments(): string[];
    /**
     * Open implementation.
     *
     * @param applicationData The application descriptor data.
     */
    protected _open(applicationData: Readonly<Buffer>): Promise<void>;
    /**
     * Get path to a resource file.
     *
     * @param parts Path parts.
     * @returns Full path.
     */
    protected _getSdkPath(...parts: string[]): string;
    /**
     * Get path to a resource file.
     *
     * @param parts Path parts.
     * @returns Full path.
     */
    protected _getResourcePath(...parts: string[]): string;
    /**
     * The SDK components to be copied.
     *
     * @returns Required and optional components.
     */
    protected abstract _sdkComponents(): {
        required: string[][];
        optional: string[][];
    };
}
