import MemoryFS from "memory-fs"; import webpack from "webpack"; import { WatchHandle } from "./WatchHandle"; export { WatchHandle }; export declare enum BundleChunkName { IndexJs = "index.js", VendorsJs = "vendors.js" } export interface BundleChunk { name: BundleChunkName; content: string | undefined; size: number; isModified: boolean; } export declare type BundleChunksMap = { [ChunkName in BundleChunkName]?: BundleChunk; } & Required<{ [BundleChunkName.IndexJs]: BundleChunk; }>; export interface Build { chunks: BundleChunksMap; dependencies: { bundled: string[]; missing: string[]; }; hash: string | undefined; time: number | null; } export interface CompilerConfig { root: string; enableBundleSplit?: boolean; externals?: string[]; } export declare class Compiler { static readonly templateModulesFolderName = "__framer-virtual-module-templates__"; private compiler; private outputFileSystem; private progressWatcher; private watchHandle; private inProgressBuildFulfilled; private queuedBuild; constructor({ root, enableBundleSplit, externals }: CompilerConfig); build(): Promise; getWatcher(): WatchHandle; private webpackRun; destroy(): void; } export declare function getBuildResult(fileSystem: MemoryFS, stats: webpack.Stats): Build; export declare function determineBuildTime({ startTime, endTime }: webpack.Stats): number | null;