///
import EventEmitter from 'events';
import { ASTBase } from 'miniscript-core';
import { ChunkProviderLike } from '../types/chunk-provider';
import { Resource } from '../types/resource';
import { ResourceManagerLike } from '../types/resource-manager';
import { ResourceHandler } from './resource-provider';
export interface ResourceManagerOptions {
resourceHandler: ResourceHandler;
chunkProvider: ChunkProviderLike;
}
export interface ResourceLoadOrigin {
target: string;
ref: ASTBase | null;
}
export declare class ResourceManager extends EventEmitter implements ResourceManagerLike {
private resourceHandler;
private chunkProvider;
private loadStates;
private loadRequests;
protected entryPointResource: Resource | null;
protected resources: Map;
protected injections: Map;
protected relativePathMappings: Map;
constructor(options: ResourceManagerOptions);
getResourceHandler(): ResourceHandler;
getChunkProvider(): ChunkProviderLike;
protected createMapping(target: string, relativePath: string): Promise;
protected createInjection(target: string, resLoadOrigin: ResourceLoadOrigin): Promise;
protected createResource(target: string, resLoadOrigin: ResourceLoadOrigin): Promise;
protected enrichResource(resource: Resource): Promise;
protected loadResource(target: string, resLoadOrigin: ResourceLoadOrigin): Promise;
isSuccess(): boolean;
getEntryPointResource(): Resource | null;
getResource(target: string): Resource | null;
getInjection(target: string): string | null;
getRelativePathMapping(target: string, relativePath: string): string | null;
load(target: string): Promise;
}