import { BindingPluginContext } from '../binding';
import { ModuleOptions } from '..';
import { PluginContextResolveOptions } from './plugin-context';
import type { ModuleInfo } from '../types/module-info';
export declare class PluginContextData {
    moduleOptionMap: Map<string, ModuleOptions>;
    resolveOptionsMap: Map<number, PluginContextResolveOptions>;
    loadModulePromiseMap: Map<string, Promise<void>>;
    updateModuleOption(id: string, option: ModuleOptions): ModuleOptions;
    getModuleOption(id: string): ModuleOptions;
    getModuleInfo(id: string, context: BindingPluginContext): ModuleInfo | null;
    proxyModuleInfo(id: string, info: ModuleInfo): ModuleInfo;
    getModuleIds(context: BindingPluginContext): ArrayIterator<string>;
    saveResolveOptions(options: PluginContextResolveOptions): number;
    getSavedResolveOptions(receipt: number): PluginContextResolveOptions | undefined;
    removeSavedResolveOptions(receipt: number): void;
}
