import { type Account, type Address, type Hash, type PublicClient, type Transport, type WalletClient } from "viem";
import type { ChainEIP712, TransactionRequestEIP712 } from "viem/chains";
export type DeployAccountParameters = {
    walletClient: WalletClient<Transport, ChainEIP712, Account>;
    publicClient: PublicClient<Transport, ChainEIP712>;
    initialSignerAddress?: Address;
} & Omit<TransactionRequestEIP712, "data" | "from" | "to" | "value" | "type">;
export interface DeployAccountReturnType {
    smartAccountAddress: Address;
    deploymentTransaction: Hash | undefined;
}
export declare function deployAccount(params: DeployAccountParameters): Promise<DeployAccountReturnType>;
//# sourceMappingURL=deployAccount.d.ts.map