import { type Address, type Hex, type PublicClient, type WalletClient } from "viem"; import type { RawTx } from "../../sdk/index.js"; export declare const PUBLIC_CREATE2_FACTORY: "0x4e59b44847b379578588920ca78fbf26c0b4956c"; export declare function handleSalt(salt: string | Hex): Hex; /** * Deploys a contract using the public CREATE2 factory * @param sponsor - Wallet client for sending transactions * @param bytecode - The contract bytecode to deploy * @param salt - Salt for the CREATE2 deployment (will be padded to 32 bytes) * @returns Transaction hash of the deployment */ export declare function deployUsingPublicCreate2(sponsor: WalletClient, bytecode: Hex, salt: string | Hex): Promise; export declare function getCreate2AddressPublicFactory(salt: string | Hex, bytecode: Hex): Promise
; export declare function createCreate2DeployRawTx(bytecode: Hex, salt: string | Hex): RawTx; export declare function getCreate2DeploymentAddress(bytecode: Hex, salt: string | Hex): Address; export declare function checkCreate2Deployment(client: PublicClient, bytecode: Hex, salt: string | Hex): Promise; export declare function checkCreate2DeploymentAddress(client: PublicClient, bytecode: Hex, salt: string | Hex): Promise<[boolean, Address]>;