import { IPackagesListPackage } from './types';
/**
 * Package constructor.
 *
 * @param info Package info.
 * @param parent Package parent.
 */
export declare class Package extends Object {
    /**
     * Package name.
     */
    readonly name: string;
    /**
     * File name.
     */
    readonly file: string;
    /**
     * File size.
     */
    readonly size: number;
    /**
     * SHA256 hash of file.
     */
    readonly sha256: string;
    /**
     * Source path, URL for root, file path for child packages.
     */
    readonly source: string;
    /**
     * Child packages.
     */
    readonly packages: Package[];
    /**
     * The parent package this package is found in.
     */
    readonly parent: Package | null;
    constructor(info: IPackagesListPackage, parent?: Package | null);
    /**
     * Create child packages list.
     *
     * @param infos Package infos.
     * @returns Package instance.
     */
    protected _createPackages(infos?: IPackagesListPackage[]): Package[];
    /**
     * Create a child package.
     *
     * @param info Package info.
     * @returns Package instance.
     */
    protected _createPackage(info: IPackagesListPackage): Package;
}
