import { IPackageMeta } from '../resolver/resolver';
import { Context } from './Context';
import { Module } from './Module';
import { IModuleCacheBasics } from '../cache/cache';
import { ProductionPackage } from '../production/ProductionPackage';
export interface IPackageProps {
    ctx: Context;
    meta: IPackageMeta;
}
export interface IPackageCacheContents {
    basics: IModuleCacheBasics;
    meta: IPackageMeta;
}
export declare class Package {
    props: IPackageProps;
    isFlat: boolean;
    isCached: boolean;
    cache: IModuleCacheBasics;
    entry?: Module;
    isDefaultPackage: boolean;
    userEntries: Array<Module>;
    modules: Array<Module>;
    externalPackages: Array<Package>;
    productionPackage: ProductionPackage;
    constructor(props: IPackageProps);
    setEntry(module: Module): void;
    getAllEntries(): Array<Module>;
    getPublicName(): string;
    setCache(basics: IModuleCacheBasics): void;
}
export declare function createPackage(props: IPackageProps): Package;
