import type { PrefixedHexString } from "./hex.js"; import type { Artifact, LibraryAddresses, LibraryLink } from "./internal/bytecode.js"; /** * Resolves the linked bytecode for a given contract artifact by substituting * the required library placeholders within the bytecode with the provided * library addresses. * * @param artifact The contract artifact containing the bytecode and link references. * @param providedLibraries An object containing library names as keys and their addresses as values. * @returns The linked bytecode with all required libraries correctly linked. * @throws InvalidLibraryAddressError If any provided library address is invalid. * @throws AmbiguousLibraryNameError If any provided library name matches multiple needed libraries. * @throws UnnecessaryLibraryError If any provided library name is not needed by the contract. * @throws OverlappingLibrariesError If any library is provided more than once. * @throws MissingLibrariesError If any needed library address is missing. */ export declare function resolveLinkedBytecode(artifact: Artifact, providedLibraries: LibraryAddresses): PrefixedHexString; /** * Links the bytecode of a contract artifact with the provided library addresses. * This function does not perform any validation on the provided libraries. * * @param artifact The contract artifact containing the bytecode and link references. * @param libraries An array of LibraryLink objects representing the libraries to be linked. * @returns The linked bytecode with all provided libraries correctly linked. */ export declare function linkBytecode(artifact: Artifact, libraries: LibraryLink[]): PrefixedHexString; //# sourceMappingURL=bytecode.d.ts.map