| import * as ESTree from 'estree'; | 
 | import { EventEmitter } from 'events'; | 
 |  | 
 | export const VERSION: string; | 
 |  | 
 | export interface RollupError extends RollupLogProps { | 
 | 	stack?: string; | 
 | 	watchFiles?: string[]; | 
 | } | 
 |  | 
 | export interface RollupWarning extends RollupLogProps { | 
 | 	exporter?: string; | 
 | 	exportName?: string; | 
 | 	guess?: string; | 
 | 	importer?: string; | 
 | 	missing?: string; | 
 | 	modules?: string[]; | 
 | 	names?: string[]; | 
 | 	reexporter?: string; | 
 | 	source?: string; | 
 | 	sources?: string[]; | 
 | } | 
 |  | 
 | export interface RollupLogProps { | 
 | 	code?: string; | 
 | 	frame?: string; | 
 | 	hook?: string; | 
 | 	id?: string; | 
 | 	loc?: { | 
 | 		column: number; | 
 | 		file?: string; | 
 | 		line: number; | 
 | 	}; | 
 | 	message: string; | 
 | 	name?: string; | 
 | 	plugin?: string; | 
 | 	pluginCode?: string; | 
 | 	pos?: number; | 
 | 	url?: string; | 
 | } | 
 |  | 
 | export type SourceMapSegment = | 
 | 	| [number] | 
 | 	| [number, number, number, number] | 
 | 	| [number, number, number, number, number]; | 
 |  | 
 | export interface ExistingDecodedSourceMap { | 
 | 	file?: string; | 
 | 	mappings: SourceMapSegment[][]; | 
 | 	names: string[]; | 
 | 	sourceRoot?: string; | 
 | 	sources: string[]; | 
 | 	sourcesContent?: string[]; | 
 | 	version: number; | 
 | } | 
 |  | 
 | export interface ExistingRawSourceMap { | 
 | 	file?: string; | 
 | 	mappings: string; | 
 | 	names: string[]; | 
 | 	sourceRoot?: string; | 
 | 	sources: string[]; | 
 | 	sourcesContent?: string[]; | 
 | 	version: number; | 
 | } | 
 |  | 
 | export type DecodedSourceMapOrMissing = | 
 | 	| { | 
 | 			mappings?: never; | 
 | 			missing: true; | 
 | 			plugin: string; | 
 | 	  } | 
 | 	| ExistingDecodedSourceMap; | 
 |  | 
 | export interface SourceMap { | 
 | 	file: string; | 
 | 	mappings: string; | 
 | 	names: string[]; | 
 | 	sources: string[]; | 
 | 	sourcesContent: string[]; | 
 | 	version: number; | 
 | 	toString(): string; | 
 | 	toUrl(): string; | 
 | } | 
 |  | 
 | export type SourceMapInput = ExistingRawSourceMap | string | null | { mappings: '' }; | 
 |  | 
 | export interface SourceDescription { | 
 | 	ast?: ESTree.Program; | 
 | 	code: string; | 
 | 	map?: SourceMapInput; | 
 | 	moduleSideEffects?: boolean | null; | 
 | } | 
 |  | 
 | export interface TransformSourceDescription extends SourceDescription { | 
 | 	dependencies?: string[]; | 
 | } | 
 |  | 
 | export interface TransformModuleJSON { | 
 | 	ast: ESTree.Program; | 
 | 	code: string; | 
 | 	// note if plugins use new this.cache to opt-out auto transform cache | 
 | 	customTransformCache: boolean; | 
 | 	moduleSideEffects: boolean | null; | 
 | 	originalCode: string; | 
 | 	originalSourcemap: ExistingDecodedSourceMap | null; | 
 | 	resolvedIds?: ResolvedIdMap; | 
 | 	sourcemapChain: DecodedSourceMapOrMissing[]; | 
 | 	transformDependencies: string[]; | 
 | } | 
 |  | 
 | export interface ModuleJSON extends TransformModuleJSON { | 
 | 	dependencies: string[]; | 
 | 	id: string; | 
 | 	transformFiles: EmittedFile[] | undefined; | 
 | } | 
 |  | 
 | export interface PluginCache { | 
 | 	delete(id: string): boolean; | 
 | 	get<T = any>(id: string): T; | 
 | 	has(id: string): boolean; | 
 | 	set<T = any>(id: string, value: T): void; | 
 | } | 
 |  | 
 | export interface MinimalPluginContext { | 
 | 	meta: PluginContextMeta; | 
 | } | 
 |  | 
 | export interface EmittedAsset { | 
 | 	fileName?: string; | 
 | 	name?: string; | 
 | 	source?: string | Buffer; | 
 | 	type: 'asset'; | 
 | } | 
 |  | 
 | export interface EmittedChunk { | 
 | 	fileName?: string; | 
 | 	id: string; | 
 | 	name?: string; | 
 | 	type: 'chunk'; | 
 | } | 
 |  | 
 | export type EmittedFile = EmittedAsset | EmittedChunk; | 
 |  | 
 | export type EmitAsset = (name: string, source?: string | Buffer) => string; | 
 |  | 
 | export type EmitChunk = (id: string, options?: { name?: string }) => string; | 
 |  | 
 | export type EmitFile = (emittedFile: EmittedFile) => string; | 
 |  | 
 | export interface PluginContext extends MinimalPluginContext { | 
 | 	addWatchFile: (id: string) => void; | 
 | 	cache: PluginCache; | 
 | 	/** @deprecated Use `this.emitFile` instead */ | 
 | 	emitAsset: EmitAsset; | 
 | 	/** @deprecated Use `this.emitFile` instead */ | 
 | 	emitChunk: EmitChunk; | 
 | 	emitFile: EmitFile; | 
 | 	error: (err: RollupError | string, pos?: number | { column: number; line: number }) => never; | 
 | 	/** @deprecated Use `this.getFileName` instead */ | 
 | 	getAssetFileName: (assetReferenceId: string) => string; | 
 | 	/** @deprecated Use `this.getFileName` instead */ | 
 | 	getChunkFileName: (chunkReferenceId: string) => string; | 
 | 	getFileName: (fileReferenceId: string) => string; | 
 | 	getModuleInfo: ( | 
 | 		moduleId: string | 
 | 	) => { | 
 | 		hasModuleSideEffects: boolean; | 
 | 		id: string; | 
 | 		importedIds: string[]; | 
 | 		isEntry: boolean; | 
 | 		isExternal: boolean; | 
 | 	}; | 
 | 	/** @deprecated Use `this.resolve` instead */ | 
 | 	isExternal: IsExternal; | 
 | 	moduleIds: IterableIterator<string>; | 
 | 	parse: (input: string, options: any) => ESTree.Program; | 
 | 	resolve: ( | 
 | 		source: string, | 
 | 		importer: string, | 
 | 		options?: { skipSelf: boolean } | 
 | 	) => Promise<ResolvedId | null>; | 
 | 	/** @deprecated Use `this.resolve` instead */ | 
 | 	resolveId: (source: string, importer: string) => Promise<string | null>; | 
 | 	setAssetSource: (assetReferenceId: string, source: string | Buffer) => void; | 
 | 	warn: (warning: RollupWarning | string, pos?: number | { column: number; line: number }) => void; | 
 | 	/** @deprecated Use `this.addWatchFile` and the `watchChange` hook instead  */ | 
 | 	watcher: EventEmitter; | 
 | } | 
 |  | 
 | export interface PluginContextMeta { | 
 | 	rollupVersion: string; | 
 | } | 
 |  | 
 | export interface ResolvedId { | 
 | 	external: boolean; | 
 | 	id: string; | 
 | 	moduleSideEffects: boolean; | 
 | } | 
 |  | 
 | export interface ResolvedIdMap { | 
 | 	[key: string]: ResolvedId; | 
 | } | 
 |  | 
 | interface PartialResolvedId { | 
 | 	external?: boolean; | 
 | 	id: string; | 
 | 	moduleSideEffects?: boolean | null; | 
 | } | 
 |  | 
 | export type ResolveIdResult = string | false | null | undefined | PartialResolvedId; | 
 |  | 
 | export type ResolveIdHook = ( | 
 | 	this: PluginContext, | 
 | 	source: string, | 
 | 	importer: string | undefined | 
 | ) => Promise<ResolveIdResult> | ResolveIdResult; | 
 |  | 
 | export type IsExternal = ( | 
 | 	source: string, | 
 | 	importer: string, | 
 | 	isResolved: boolean | 
 | ) => boolean | null | undefined; | 
 |  | 
 | export type IsPureModule = (id: string) => boolean | null | undefined; | 
 |  | 
 | export type HasModuleSideEffects = (id: string, external: boolean) => boolean; | 
 |  | 
 | export type LoadHook = ( | 
 | 	this: PluginContext, | 
 | 	id: string | 
 | ) => Promise<SourceDescription | string | null> | SourceDescription | string | null; | 
 |  | 
 | export type TransformResult = string | null | undefined | TransformSourceDescription; | 
 |  | 
 | export type TransformHook = ( | 
 | 	this: PluginContext, | 
 | 	code: string, | 
 | 	id: string | 
 | ) => Promise<TransformResult> | TransformResult; | 
 |  | 
 | export type TransformChunkHook = ( | 
 | 	this: PluginContext, | 
 | 	code: string, | 
 | 	options: OutputOptions | 
 | ) => | 
 | 	| Promise<{ code: string; map?: SourceMapInput } | null | undefined> | 
 | 	| { code: string; map?: SourceMapInput } | 
 | 	| null | 
 | 	| undefined; | 
 |  | 
 | export type RenderChunkHook = ( | 
 | 	this: PluginContext, | 
 | 	code: string, | 
 | 	chunk: RenderedChunk, | 
 | 	options: OutputOptions | 
 | ) => | 
 | 	| Promise<{ code: string; map?: SourceMapInput } | null> | 
 | 	| { code: string; map?: SourceMapInput } | 
 | 	| string | 
 | 	| null; | 
 |  | 
 | export type ResolveDynamicImportHook = ( | 
 | 	this: PluginContext, | 
 | 	specifier: string | ESTree.Node, | 
 | 	importer: string | 
 | ) => Promise<ResolveIdResult> | ResolveIdResult; | 
 |  | 
 | export type ResolveImportMetaHook = ( | 
 | 	this: PluginContext, | 
 | 	prop: string | null, | 
 | 	options: { chunkId: string; format: string; moduleId: string } | 
 | ) => string | null | undefined; | 
 |  | 
 | export type ResolveAssetUrlHook = ( | 
 | 	this: PluginContext, | 
 | 	options: { | 
 | 		assetFileName: string; | 
 | 		chunkId: string; | 
 | 		format: string; | 
 | 		moduleId: string; | 
 | 		relativeAssetPath: string; | 
 | 	} | 
 | ) => string | null | undefined; | 
 |  | 
 | export type ResolveFileUrlHook = ( | 
 | 	this: PluginContext, | 
 | 	options: { | 
 | 		assetReferenceId: string | null; | 
 | 		chunkId: string; | 
 | 		chunkReferenceId: string | null; | 
 | 		fileName: string; | 
 | 		format: string; | 
 | 		moduleId: string; | 
 | 		referenceId: string; | 
 | 		relativePath: string; | 
 | 	} | 
 | ) => string | null | undefined; | 
 |  | 
 | export type AddonHook = string | ((this: PluginContext) => string | Promise<string>); | 
 |  | 
 | /** | 
 |  * use this type for plugin annotation | 
 |  * @example | 
 |  * ```ts | 
 |  * interface Options { | 
 |  * ... | 
 |  * } | 
 |  * const myPlugin: PluginImpl<Options> = (options = {}) => { ... } | 
 |  * ``` | 
 |  */ | 
 | export type PluginImpl<O extends object = object> = (options?: O) => Plugin; | 
 |  | 
 | export interface OutputBundle { | 
 | 	[fileName: string]: OutputAsset | OutputChunk; | 
 | } | 
 |  | 
 | export interface FilePlaceholder { | 
 | 	type: 'placeholder'; | 
 | } | 
 |  | 
 | export interface OutputBundleWithPlaceholders { | 
 | 	[fileName: string]: OutputAsset | OutputChunk | FilePlaceholder; | 
 | } | 
 |  | 
 | interface OnGenerateOptions extends OutputOptions { | 
 | 	bundle: OutputChunk; | 
 | } | 
 |  | 
 | interface OnWriteOptions extends OutputOptions { | 
 | 	bundle: RollupBuild; | 
 | } | 
 |  | 
 | export interface PluginHooks { | 
 | 	augmentChunkHash: (this: PluginContext, chunk: PreRenderedChunk) => string | void; | 
 | 	buildEnd: (this: PluginContext, err?: Error) => Promise<void> | void; | 
 | 	buildStart: (this: PluginContext, options: InputOptions) => Promise<void> | void; | 
 | 	generateBundle: ( | 
 | 		this: PluginContext, | 
 | 		options: OutputOptions, | 
 | 		bundle: OutputBundle, | 
 | 		isWrite: boolean | 
 | 	) => void | Promise<void>; | 
 | 	load: LoadHook; | 
 | 	/** @deprecated Use `generateBundle` instead */ | 
 | 	ongenerate: ( | 
 | 		this: PluginContext, | 
 | 		options: OnGenerateOptions, | 
 | 		chunk: OutputChunk | 
 | 	) => void | Promise<void>; | 
 | 	/** @deprecated Use `writeBundle` instead */ | 
 | 	onwrite: ( | 
 | 		this: PluginContext, | 
 | 		options: OnWriteOptions, | 
 | 		chunk: OutputChunk | 
 | 	) => void | Promise<void>; | 
 | 	options: (this: MinimalPluginContext, options: InputOptions) => InputOptions | null | undefined; | 
 | 	outputOptions: (this: PluginContext, options: OutputOptions) => OutputOptions | null | undefined; | 
 | 	renderChunk: RenderChunkHook; | 
 | 	renderError: (this: PluginContext, err?: Error) => Promise<void> | void; | 
 | 	renderStart: (this: PluginContext) => Promise<void> | void; | 
 | 	/** @deprecated Use `resolveFileUrl` instead */ | 
 | 	resolveAssetUrl: ResolveAssetUrlHook; | 
 | 	resolveDynamicImport: ResolveDynamicImportHook; | 
 | 	resolveFileUrl: ResolveFileUrlHook; | 
 | 	resolveId: ResolveIdHook; | 
 | 	resolveImportMeta: ResolveImportMetaHook; | 
 | 	transform: TransformHook; | 
 | 	/** @deprecated Use `renderChunk` instead */ | 
 | 	transformBundle: TransformChunkHook; | 
 | 	/** @deprecated Use `renderChunk` instead */ | 
 | 	transformChunk: TransformChunkHook; | 
 | 	watchChange: (id: string) => void; | 
 | 	writeBundle: (this: PluginContext, bundle: OutputBundle) => void | Promise<void>; | 
 | } | 
 |  | 
 | export interface Plugin extends Partial<PluginHooks> { | 
 | 	banner?: AddonHook; | 
 | 	cacheKey?: string; | 
 | 	footer?: AddonHook; | 
 | 	intro?: AddonHook; | 
 | 	name: string; | 
 | 	outro?: AddonHook; | 
 | } | 
 |  | 
 | export interface TreeshakingOptions { | 
 | 	annotations?: boolean; | 
 | 	moduleSideEffects?: ModuleSideEffectsOption; | 
 | 	propertyReadSideEffects?: boolean; | 
 | 	/** @deprecated Use `moduleSideEffects` instead */ | 
 | 	pureExternalModules?: PureModulesOption; | 
 | 	tryCatchDeoptimization?: boolean; | 
 | 	unknownGlobalSideEffects?: boolean; | 
 | } | 
 |  | 
 | export type GetManualChunk = (id: string) => string | null | undefined; | 
 |  | 
 | export type ExternalOption = string[] | IsExternal; | 
 | export type PureModulesOption = boolean | string[] | IsPureModule; | 
 | export type GlobalsOption = { [name: string]: string } | ((name: string) => string); | 
 | export type InputOption = string | string[] | { [entryAlias: string]: string }; | 
 | export type ManualChunksOption = { [chunkAlias: string]: string[] } | GetManualChunk; | 
 | export type ModuleSideEffectsOption = boolean | 'no-external' | string[] | HasModuleSideEffects; | 
 |  | 
 | export interface InputOptions { | 
 | 	acorn?: any; | 
 | 	acornInjectPlugins?: Function[]; | 
 | 	cache?: false | RollupCache; | 
 | 	chunkGroupingSize?: number; | 
 | 	context?: string; | 
 | 	experimentalCacheExpiry?: number; | 
 | 	experimentalOptimizeChunks?: boolean; | 
 | 	experimentalTopLevelAwait?: boolean; | 
 | 	external?: ExternalOption; | 
 | 	inlineDynamicImports?: boolean; | 
 | 	input?: InputOption; | 
 | 	manualChunks?: ManualChunksOption; | 
 | 	moduleContext?: ((id: string) => string) | { [id: string]: string }; | 
 | 	onwarn?: WarningHandlerWithDefault; | 
 | 	perf?: boolean; | 
 | 	plugins?: Plugin[]; | 
 | 	preserveModules?: boolean; | 
 | 	preserveSymlinks?: boolean; | 
 | 	shimMissingExports?: boolean; | 
 | 	strictDeprecations?: boolean; | 
 | 	treeshake?: boolean | TreeshakingOptions; | 
 | 	watch?: WatcherOptions; | 
 | } | 
 |  | 
 | export type ModuleFormat = | 
 | 	| 'amd' | 
 | 	| 'cjs' | 
 | 	| 'commonjs' | 
 | 	| 'es' | 
 | 	| 'esm' | 
 | 	| 'iife' | 
 | 	| 'module' | 
 | 	| 'system' | 
 | 	| 'umd'; | 
 |  | 
 | export type OptionsPaths = Record<string, string> | ((id: string) => string); | 
 |  | 
 | export interface OutputOptions { | 
 | 	amd?: { | 
 | 		define?: string; | 
 | 		id?: string; | 
 | 	}; | 
 | 	assetFileNames?: string; | 
 | 	banner?: string | (() => string | Promise<string>); | 
 | 	chunkFileNames?: string; | 
 | 	compact?: boolean; | 
 | 	// only required for bundle.write | 
 | 	dir?: string; | 
 | 	dynamicImportFunction?: string; | 
 | 	entryFileNames?: string; | 
 | 	esModule?: boolean; | 
 | 	exports?: 'default' | 'named' | 'none' | 'auto'; | 
 | 	extend?: boolean; | 
 | 	externalLiveBindings?: boolean; | 
 | 	// only required for bundle.write | 
 | 	file?: string; | 
 | 	footer?: string | (() => string | Promise<string>); | 
 | 	// this is optional at the base-level of RollupWatchOptions, | 
 | 	// which extends from this interface through config merge | 
 | 	format?: ModuleFormat; | 
 | 	freeze?: boolean; | 
 | 	globals?: GlobalsOption; | 
 | 	importMetaUrl?: (chunkId: string, moduleId: string) => string; | 
 | 	indent?: boolean; | 
 | 	interop?: boolean; | 
 | 	intro?: string | (() => string | Promise<string>); | 
 | 	name?: string; | 
 | 	namespaceToStringTag?: boolean; | 
 | 	noConflict?: boolean; | 
 | 	outro?: string | (() => string | Promise<string>); | 
 | 	paths?: OptionsPaths; | 
 | 	preferConst?: boolean; | 
 | 	sourcemap?: boolean | 'inline' | 'hidden'; | 
 | 	sourcemapExcludeSources?: boolean; | 
 | 	sourcemapFile?: string; | 
 | 	sourcemapPathTransform?: (sourcePath: string) => string; | 
 | 	strict?: boolean; | 
 | } | 
 |  | 
 | export type WarningHandlerWithDefault = ( | 
 | 	warning: string | RollupWarning, | 
 | 	defaultHandler: WarningHandler | 
 | ) => void; | 
 | export type WarningHandler = (warning: string | RollupWarning) => void; | 
 |  | 
 | export interface SerializedTimings { | 
 | 	[label: string]: [number, number, number]; | 
 | } | 
 |  | 
 | export interface OutputAsset { | 
 | 	fileName: string; | 
 | 	/** @deprecated Accessing "isAsset" on files in the bundle is deprecated, please use "type === \'asset\'" instead */ | 
 | 	isAsset: true; | 
 | 	source: string | Buffer; | 
 | 	type: 'asset'; | 
 | } | 
 |  | 
 | export interface RenderedModule { | 
 | 	originalLength: number; | 
 | 	removedExports: string[]; | 
 | 	renderedExports: string[]; | 
 | 	renderedLength: number; | 
 | } | 
 |  | 
 | export interface PreRenderedChunk { | 
 | 	dynamicImports: string[]; | 
 | 	exports: string[]; | 
 | 	facadeModuleId: string | null; | 
 | 	imports: string[]; | 
 | 	isDynamicEntry: boolean; | 
 | 	isEntry: boolean; | 
 | 	modules: { | 
 | 		[id: string]: RenderedModule; | 
 | 	}; | 
 | 	name: string; | 
 | } | 
 |  | 
 | export interface RenderedChunk extends PreRenderedChunk { | 
 | 	fileName: string; | 
 | } | 
 |  | 
 | export interface OutputChunk extends RenderedChunk { | 
 | 	code: string; | 
 | 	map?: SourceMap; | 
 | 	type: 'chunk'; | 
 | } | 
 |  | 
 | export interface SerializablePluginCache { | 
 | 	[key: string]: [number, any]; | 
 | } | 
 |  | 
 | export interface RollupCache { | 
 | 	modules: ModuleJSON[]; | 
 | 	plugins?: Record<string, SerializablePluginCache>; | 
 | } | 
 |  | 
 | export interface RollupOutput { | 
 | 	output: [OutputChunk, ...(OutputChunk | OutputAsset)[]]; | 
 | } | 
 |  | 
 | export interface RollupBuild { | 
 | 	cache: RollupCache; | 
 | 	generate: (outputOptions: OutputOptions) => Promise<RollupOutput>; | 
 | 	getTimings?: () => SerializedTimings; | 
 | 	watchFiles: string[]; | 
 | 	write: (options: OutputOptions) => Promise<RollupOutput>; | 
 | } | 
 |  | 
 | export interface RollupOptions extends InputOptions { | 
 | 	output?: OutputOptions; | 
 | } | 
 |  | 
 | export function rollup(options: RollupOptions): Promise<RollupBuild>; | 
 | // chokidar watch options | 
 | export interface WatchOptions { | 
 | 	alwaysStat?: boolean; | 
 | 	atomic?: boolean | number; | 
 | 	awaitWriteFinish?: | 
 | 		| { | 
 | 				pollInterval?: number; | 
 | 				stabilityThreshold?: number; | 
 | 		  } | 
 | 		| boolean; | 
 | 	binaryInterval?: number; | 
 | 	cwd?: string; | 
 | 	depth?: number; | 
 | 	disableGlobbing?: boolean; | 
 | 	followSymlinks?: boolean; | 
 | 	ignored?: any; | 
 | 	ignoreInitial?: boolean; | 
 | 	ignorePermissionErrors?: boolean; | 
 | 	interval?: number; | 
 | 	persistent?: boolean; | 
 | 	useFsEvents?: boolean; | 
 | 	usePolling?: boolean; | 
 | } | 
 |  | 
 | export interface WatcherOptions { | 
 | 	chokidar?: boolean | WatchOptions; | 
 | 	clearScreen?: boolean; | 
 | 	exclude?: string[]; | 
 | 	include?: string[]; | 
 | } | 
 |  | 
 | export interface RollupWatchOptions extends InputOptions { | 
 | 	output?: OutputOptions | OutputOptions[]; | 
 | 	watch?: WatcherOptions; | 
 | } | 
 |  | 
 | export interface RollupWatcher extends EventEmitter { | 
 | 	close(): void; | 
 | } | 
 |  | 
 | export function watch(configs: RollupWatchOptions[]): RollupWatcher; |