import { InferStepId } from '../../../util/wizard-builder/defineWizard';
import { z } from 'zod';
declare const deployCreate2WizardStore: [import("../../../util/wizard-builder/defineWizard").WizardStep<{}, z.ZodObject<{
    foundryProjectPath: z.ZodString;
}, "strip", z.ZodTypeAny, {
    foundryProjectPath: string;
}, {
    foundryProjectPath: string;
}>, "enter-foundry-project-path">, import("../../../util/wizard-builder/defineWizard").WizardStep<{
    foundryProjectPath: string;
}, z.ZodObject<{
    selectedContract: z.ZodString;
}, "strip", z.ZodTypeAny, {
    selectedContract: string;
}, {
    selectedContract: string;
}>, "select-contract">, import("../../../util/wizard-builder/defineWizard").WizardStep<{
    foundryProjectPath: string;
} & {
    selectedContract: string;
}, z.ZodObject<{
    constructorArgs: z.ZodArray<z.ZodString, "many">;
}, "strip", z.ZodTypeAny, {
    constructorArgs: string[];
}, {
    constructorArgs: string[];
}>, "configure-constructor-arguments">, import("../../../util/wizard-builder/defineWizard").WizardStep<{
    foundryProjectPath: string;
} & {
    selectedContract: string;
} & {
    constructorArgs: string[];
}, z.ZodObject<{
    salt: z.ZodString;
}, "strip", z.ZodTypeAny, {
    salt: string;
}, {
    salt: string;
}>, "configure-salt">, import("../../../util/wizard-builder/defineWizard").WizardStep<{
    foundryProjectPath: string;
} & {
    selectedContract: string;
} & {
    constructorArgs: string[];
} & {
    salt: string;
}, z.ZodObject<{
    network: z.ZodEnum<["mainnet", "sepolia", "interop-alpha", "supersim"]>;
}, "strip", z.ZodTypeAny, {
    network: "mainnet" | "sepolia" | "interop-alpha" | "supersim";
}, {
    network: "mainnet" | "sepolia" | "interop-alpha" | "supersim";
}>, "select-network">, import("../../../util/wizard-builder/defineWizard").WizardStep<{
    foundryProjectPath: string;
} & {
    selectedContract: string;
} & {
    constructorArgs: string[];
} & {
    salt: string;
} & {
    network: "mainnet" | "sepolia" | "interop-alpha" | "supersim";
}, z.ZodObject<{
    chainNames: z.ZodArray<z.ZodString, "many">;
}, "strip", z.ZodTypeAny, {
    chainNames: string[];
}, {
    chainNames: string[];
}>, "select-chains">, import("../../../util/wizard-builder/defineWizard").WizardStep<{
    foundryProjectPath: string;
} & {
    selectedContract: string;
} & {
    constructorArgs: string[];
} & {
    salt: string;
} & {
    network: "mainnet" | "sepolia" | "interop-alpha" | "supersim";
} & {
    chainNames: string[];
}, z.ZodObject<{
    shouldVerifyContract: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
    shouldVerifyContract: boolean;
}, {
    shouldVerifyContract: boolean;
}>, "should-verify-contract">, import("../../../util/wizard-builder/defineWizard").WizardStep<{
    foundryProjectPath: string;
} & {
    selectedContract: string;
} & {
    constructorArgs: string[];
} & {
    salt: string;
} & {
    network: "mainnet" | "sepolia" | "interop-alpha" | "supersim";
} & {
    chainNames: string[];
} & {
    shouldVerifyContract: boolean;
}, z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>, "completed">];
export type DeployCreate2WizardStore = typeof deployCreate2WizardStore;
export type DeployCreate2WizardStepId = InferStepId<typeof deployCreate2WizardStore>;
export declare const useDeployCreate2WizardStore: import("zustand").UseBoundStore<import("zustand").StoreApi<import("../../../util/wizard-builder/createWizardStore").DefineStoreType<[import("../../../util/wizard-builder/defineWizard").WizardStep<{}, z.ZodObject<{
    foundryProjectPath: z.ZodString;
}, "strip", z.ZodTypeAny, {
    foundryProjectPath: string;
}, {
    foundryProjectPath: string;
}>, "enter-foundry-project-path">, import("../../../util/wizard-builder/defineWizard").WizardStep<{
    foundryProjectPath: string;
}, z.ZodObject<{
    selectedContract: z.ZodString;
}, "strip", z.ZodTypeAny, {
    selectedContract: string;
}, {
    selectedContract: string;
}>, "select-contract">, import("../../../util/wizard-builder/defineWizard").WizardStep<{
    foundryProjectPath: string;
} & {
    selectedContract: string;
}, z.ZodObject<{
    constructorArgs: z.ZodArray<z.ZodString, "many">;
}, "strip", z.ZodTypeAny, {
    constructorArgs: string[];
}, {
    constructorArgs: string[];
}>, "configure-constructor-arguments">, import("../../../util/wizard-builder/defineWizard").WizardStep<{
    foundryProjectPath: string;
} & {
    selectedContract: string;
} & {
    constructorArgs: string[];
}, z.ZodObject<{
    salt: z.ZodString;
}, "strip", z.ZodTypeAny, {
    salt: string;
}, {
    salt: string;
}>, "configure-salt">, import("../../../util/wizard-builder/defineWizard").WizardStep<{
    foundryProjectPath: string;
} & {
    selectedContract: string;
} & {
    constructorArgs: string[];
} & {
    salt: string;
}, z.ZodObject<{
    network: z.ZodEnum<["mainnet", "sepolia", "interop-alpha", "supersim"]>;
}, "strip", z.ZodTypeAny, {
    network: "mainnet" | "sepolia" | "interop-alpha" | "supersim";
}, {
    network: "mainnet" | "sepolia" | "interop-alpha" | "supersim";
}>, "select-network">, import("../../../util/wizard-builder/defineWizard").WizardStep<{
    foundryProjectPath: string;
} & {
    selectedContract: string;
} & {
    constructorArgs: string[];
} & {
    salt: string;
} & {
    network: "mainnet" | "sepolia" | "interop-alpha" | "supersim";
}, z.ZodObject<{
    chainNames: z.ZodArray<z.ZodString, "many">;
}, "strip", z.ZodTypeAny, {
    chainNames: string[];
}, {
    chainNames: string[];
}>, "select-chains">, import("../../../util/wizard-builder/defineWizard").WizardStep<{
    foundryProjectPath: string;
} & {
    selectedContract: string;
} & {
    constructorArgs: string[];
} & {
    salt: string;
} & {
    network: "mainnet" | "sepolia" | "interop-alpha" | "supersim";
} & {
    chainNames: string[];
}, z.ZodObject<{
    shouldVerifyContract: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
    shouldVerifyContract: boolean;
}, {
    shouldVerifyContract: boolean;
}>, "should-verify-contract">, import("../../../util/wizard-builder/defineWizard").WizardStep<{
    foundryProjectPath: string;
} & {
    selectedContract: string;
} & {
    constructorArgs: string[];
} & {
    salt: string;
} & {
    network: "mainnet" | "sepolia" | "interop-alpha" | "supersim";
} & {
    chainNames: string[];
} & {
    shouldVerifyContract: boolean;
}, z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>, "completed">]>>>;
export declare const deployCreate2WizardIndexByStepId: Record<"completed" | "select-network" | "select-chains" | "enter-foundry-project-path" | "select-contract" | "configure-constructor-arguments" | "configure-salt" | "should-verify-contract", number>;
export {};
