import type { HardhatRuntimeEnvironment } from "hardhat/types";
import type { Abi, Address, Hex } from "viem";
import type { DeployContractConfig, GetContractAtConfig, GetContractReturnType, GetTransactionReturnType, PublicClient, SendDeploymentTransactionConfig, WalletClient } from "../types";
export declare function deployContract({ artifacts, network }: HardhatRuntimeEnvironment, contractName: string, constructorArgs?: any[], config?: DeployContractConfig): Promise<GetContractReturnType>;
export declare function innerDeployContract(publicClient: PublicClient, walletClient: WalletClient, contractAbi: Abi, contractBytecode: Hex, constructorArgs: any[], deployContractParameters?: DeployContractConfig, confirmations?: number): Promise<GetContractReturnType>;
export declare function sendDeploymentTransaction({ artifacts, network }: HardhatRuntimeEnvironment, contractName: string, constructorArgs?: any[], config?: SendDeploymentTransactionConfig): Promise<{
    contract: GetContractReturnType;
    deploymentTransaction: GetTransactionReturnType;
}>;
export declare function getContractAt({ artifacts, network }: HardhatRuntimeEnvironment, contractName: string, address: Address, config?: GetContractAtConfig): Promise<GetContractReturnType>;
//# sourceMappingURL=contracts.d.ts.map