export type ExecAsyncFn = (command: string, options?: any) => Promise<{
    stdout: string;
    stderr: string;
}>;
/**
 * Set a mock exec function for testing.
 * @param mockExec - The mock exec function to use.
 */
export declare function setExecMock(mockExec: ExecAsyncFn): void;
/**
 * Reset the mock exec function.
 */
export declare function resetExecMock(): void;
/**
 * Check if a package has a foundry.toml configuration file.
 *
 * @param packagePath - The absolute filesystem path to the package root.
 * @returns True if foundry.toml exists in the package.
 */
export declare function hasFoundryConfig(packagePath: string): Promise<boolean>;
/**
 * Check if forge is installed and available in PATH.
 *
 * @returns True if forge is installed, false otherwise.
 */
export declare function isForgeInstalled(): Promise<boolean>;
/**
 * Execute `forge remappings` in the given package directory to get Solidity remappings.
 *
 * @param packagePath - The absolute filesystem path to the package root.
 * @returns An array of remapping strings (e.g., ["@openzeppelin/=lib/openzeppelin-contracts/"]).
 * @throws {HardhatError} If the command fails.
 */
export declare function getForgeRemappings(packagePath: string): Promise<string[]>;
//# sourceMappingURL=forge.d.ts.map