import type { ContractReturnType, DeployContractConfig, GetContractAtConfig, GetTransactionReturnType, SendDeploymentTransactionConfig } from "../types.js";
import type { ArtifactManager } from "hardhat/types/artifacts";
import type { EthereumProvider } from "hardhat/types/providers";
import type { Address as ViemAddress } from "viem";
export declare function deployContract<ContractName extends string>(provider: EthereumProvider, artifactManager: ArtifactManager, contractName: ContractName, constructorArgs?: unknown[], deployContractConfig?: DeployContractConfig): Promise<ContractReturnType<ContractName>>;
export declare function sendDeploymentTransaction<ContractName extends string>(provider: EthereumProvider, artifactManager: ArtifactManager, contractName: ContractName, constructorArgs?: unknown[], sendDeploymentTransactionConfig?: SendDeploymentTransactionConfig): Promise<{
    contract: ContractReturnType<ContractName>;
    deploymentTransaction: GetTransactionReturnType;
}>;
export declare function getContractAt<ContractName extends string>(provider: EthereumProvider, artifactManager: ArtifactManager, contractName: ContractName, address: ViemAddress, getContractAtConfig?: GetContractAtConfig): Promise<ContractReturnType<ContractName>>;
//# sourceMappingURL=contracts.d.ts.map