import type { ViemIgnitionHelper, IgnitionModuleResultsToViemContracts } from "../types.js";
import type { DeployConfig, DeploymentParameters, EIP1193Provider, IgnitionModule, IgnitionModuleResult, StrategyConfig } from "@nomicfoundation/ignition-core";
import type { ArtifactManager } from "hardhat/types/artifacts";
import type { HardhatConfig } from "hardhat/types/config";
import type { NetworkConnection, ChainType } from "hardhat/types/network";
export declare class ViemIgnitionHelperImpl<ChainTypeT extends ChainType | string> implements ViemIgnitionHelper {
    #private;
    type: "viem";
    constructor(hardhatConfig: HardhatConfig, artifactsManager: ArtifactManager, connection: NetworkConnection<ChainTypeT>, config?: Partial<DeployConfig> | undefined, provider?: EIP1193Provider);
    /**
     * Deploys the given Ignition module and returns the results of the module
     * as Viem contract instances.
     *
     * @param ignitionModule - The Ignition module to deploy.
     * @param options - The options to use for the deployment.
     * @returns Viem contract instances for each contract returned by the module.
     */
    deploy<ModuleIdT extends string, ContractNameT extends string, IgnitionModuleResultsT extends IgnitionModuleResult<ContractNameT>, StrategyT extends keyof StrategyConfig = "basic">(ignitionModule: IgnitionModule<ModuleIdT, ContractNameT, IgnitionModuleResultsT>, { parameters, config: perDeployConfig, defaultSender, strategy, strategyConfig, deploymentId: givenDeploymentId, displayUi, }?: {
        parameters?: DeploymentParameters | string;
        config?: Partial<DeployConfig>;
        defaultSender?: string;
        strategy?: StrategyT;
        strategyConfig?: StrategyConfig[StrategyT];
        deploymentId?: string;
        displayUi?: boolean;
    }): Promise<IgnitionModuleResultsToViemContracts<ContractNameT, IgnitionModuleResultsT>>;
}
//# sourceMappingURL=viem-ignition-helper.d.ts.map