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