import FileApi from "./FileApi";
import IPackage from "./IPackage";
import { RawSourceMap } from "source-map";
import PackedLessFile from "./core/PackedLessFile";
import PackedCssFile from "./core/PackedCssFile";
export interface IJSFile {
    content: string;
    file?: string;
    fileMTime?: number;
    map?: RawSourceMap;
}
export interface IFileLastModifiedMap {
    [key: string]: number;
}
export default class FilePacker {
    root: string;
    file: string;
    packageConfig: IPackage;
    content: IJSFile[];
    header: string[];
    dependencies: string[];
    done: {
        [key: string]: boolean;
    };
    sourceNodes: IJSFile[];
    lessNodes: {
        global: PackedLessFile;
        local: PackedLessFile;
        globalHigh: PackedLessFile;
        localHigh: PackedLessFile;
        globalLow: PackedLessFile;
        localLow: PackedLessFile;
    };
    cssNodes: {
        global: PackedCssFile;
        local: PackedCssFile;
        globalHigh: PackedCssFile;
        localHigh: PackedCssFile;
        globalLow: PackedCssFile;
        localLow: PackedCssFile;
    };
    appPath: string;
    fileApi: FileApi;
    constructor(root: string, file: string, packageConfig: IPackage);
    pack(): Promise<IFileLastModifiedMap>;
    writeFile(f: string, name: string): Promise<void>;
    private jsFile;
}
//# sourceMappingURL=FilePacker.d.ts.map