import type { Bytecode } from "./bytecode.js";
import type { ArtifactManager } from "hardhat/types/artifacts";
import type { CompilerInput, CompilerOutputContract } from "hardhat/types/solidity";
export interface ContractInformation {
    compilerInput: CompilerInput;
    solcLongVersion: string;
    sourceName: string;
    userFqn: string;
    inputFqn: string;
    compilerOutputContract: CompilerOutputContract;
    deployedBytecode: string;
}
/**
 * Resolves on-chain bytecode back to a locally compiled contract,
 * either by explicit FQN or by scanning all artifacts.
 *
 * Throws if:
 *  - no build info is found;
 *  - the compiler versions are incompatible;
 *  - the deployed bytecode doesn’t match;
 *  - zero or multiple matches in inference mode.
 */
export declare class ContractInformationResolver {
    #private;
    constructor(artifacts: ArtifactManager, compatibleSolcVersions: string[], networkName: string);
    resolve(contract: string | undefined, deployedBytecode: Bytecode): Promise<ContractInformation>;
}
//# sourceMappingURL=contract.d.ts.map