import type { OnLoadResult, PluginBuild } from "esbuild";
export interface LoadResultCache {
    get(path: string): OnLoadResult | undefined;
    put(path: string, result: OnLoadResult): void | Promise<void>;
    invalidate(path: string): boolean;
    readonly watchFiles: readonly string[];
}
export declare function createCachedLoad(cache: LoadResultCache | undefined, callback: Parameters<PluginBuild["onLoad"]>[1]): Parameters<PluginBuild["onLoad"]>[1];
export declare class MemoryLoadResultCache implements LoadResultCache {
    private readonly _loadResults;
    private readonly _fileDependencies;
    get(key: string): OnLoadResult | undefined;
    put(key: string, result: OnLoadResult): void;
    invalidate(filePath: string): boolean;
    get watchFiles(): string[];
}
//# sourceMappingURL=load-result-cache.d.ts.map