///
import * as acorn from 'acorn';
import Module, { ModuleJSON } from './Module';
import ExternalModule from './ExternalModule';
import { InputOptions, IsExternalHook, Plugin, RollupWarning, SourceDescription, TreeshakingOptions, WarningHandler } from './rollup/index';
import { Node } from './ast/nodes/shared/Node';
import Chunk from './Chunk';
import GlobalScope from './ast/scopes/GlobalScope';
export declare type ResolveDynamicImportHandler = (specifier: string | Node, parentId: string) => Promise;
export default class Graph {
curChunkIndex: number;
acornOptions: acorn.Options;
acornParse: acorn.IParse;
cachedModules: Map;
context: string;
dynamicImport: boolean;
externalModules: ExternalModule[];
getModuleContext: (id: string) => string;
hasLoaders: boolean;
isExternal: IsExternalHook;
isPureExternalModule: (id: string) => boolean;
load: (id: string) => Promise;
handleMissingExport: (exportName: string, importingModule: Module, importedModule: string, importerStart?: number) => void;
moduleById: Map;
modules: Module[];
onwarn: WarningHandler;
plugins: Plugin[];
resolveDynamicImport: ResolveDynamicImportHandler;
resolveId: (id: string, parent: string) => Promise;
scope: GlobalScope;
treeshakingOptions: TreeshakingOptions;
varOrConst: 'var' | 'const';
treeshake: boolean;
constructor(options: InputOptions);
getCache(): {
modules: ModuleJSON[];
};
private loadModule(entryName);
private link();
includeMarked(modules: Module[]): void;
buildSingle(entryModuleId: string): Promise;
private loadEntryModules(entryModules, manualChunks);
buildChunks(entryModules: Record | string[], manualChunks: Record | void, preserveModules: boolean): Promise;
private analyseExecution(entryModules, graphColouring, chunkModules?);
private warnCycle(id, parentId, parents);
private fetchModule(id, importer);
private fetchAllDependencies(module);
warn(warning: RollupWarning): void;
}