import { CompilerOutputBytecode } from 'hardhat/types';
import { BuildInfo, BytecodeExtractedData, ContractInformation, ContractName, SourceName } from './types';
export declare class Bytecode {
    private _bytecode;
    private _version;
    private _executableSection;
    private _metadataSection;
    constructor(bytecode: string);
    getInferredSolcVersion(): string;
    getExecutableSection(): string;
    hasMetadata(): boolean;
}
export declare function extractMatchingContractInformation(sourceName: SourceName, contractName: ContractName, buildInfo: BuildInfo, deployedBytecode: Bytecode): Promise<ContractInformation | null>;
export declare function compareBytecode(deployedBytecode: Bytecode, runtimeBytecodeSymbols: CompilerOutputBytecode): Promise<BytecodeExtractedData | null>;
export declare function normalizeBytecode(bytecode: string, symbols: CompilerOutputBytecode): Promise<BytecodeExtractedData>;
//# sourceMappingURL=bytecode.d.ts.map