import ModuleDependency from "webpack/lib/dependencies/ModuleDependency";
import webpack, { NormalModule } from "webpack";
interface IModuleExport {
    id: string;
    chunks: Array<string>;
    name: string;
}
/**
 * @see https://github.com/facebook/react/blob/3f70e68cea8d2ed0f53d35420105ae20e22ce428/packages/react-server-dom-webpack/src/ReactFlightWebpackPlugin.js#L27-L35
 */
declare class ClientReferenceDependency extends ModuleDependency {
    constructor(request: any);
    get type(): string;
}
/**
 * inspiration and code mostly comes from https://github.com/facebook/react/blob/3f70e68cea8d2ed0f53d35420105ae20e22ce428/packages/react-server-dom-webpack/src/ReactFlightWebpackPlugin.js
 */
export declare class PartialHydrationPlugin {
    name: string;
    _manifestPath: string;
    _rootFilePath: string;
    _references: Array<ClientReferenceDependency>;
    _clientModules: Set<webpack.NormalModule>;
    constructor(manifestPath: string, rootFilePath: string);
    _generateClientReferenceChunk(reference: NormalModule, module: NormalModule, rootContext: string): void;
    _generateManifest(_chunkGroups: webpack.Compilation["chunkGroups"], moduleGraph: webpack.Compilation["moduleGraph"], chunkGraph: webpack.Compilation["chunkGraph"], rootContext: string): Record<string, Record<string, IModuleExport>>;
    apply(compiler: webpack.Compiler): void;
}
export {};
