import type { IPackageJson } from '@rushstack/node-core-library';
/**
 * Evals `.pnpmfile.cjs` in an isolated thread, so `transformPackageAsync()` can be used to rewrite
 * package.json files.  Calling `disposeAsync()` will free the loaded modules.
 */
export declare class PnpmfileRunner {
    private _worker;
    private _nextId;
    private _promisesById;
    private _disposed;
    logger: ((message: string) => void) | undefined;
    constructor(pnpmfilePath: string);
    /**
     * Invokes the readPackage() hook from .pnpmfile.cjs
     */
    transformPackageAsync(packageJson: IPackageJson, packageJsonFullPath: string): Promise<IPackageJson>;
    disposeAsync(): Promise<void>;
}
//# sourceMappingURL=PnpmfileRunner.d.ts.map