import { SafeAccount } from "./SafeAccount";
import { InitCodeOverrides, Signer, CreateUserOperationV6Overrides, SafeAccountSingleton, SafeUserOperationTypedDataDomain, SafeUserOperationV6TypedMessageValue } from "./types";
import { UserOperationV6, MetaTransaction, OnChainIdentifierParamsType } from "../../types";
export declare class SafeAccountV0_2_0 extends SafeAccount {
    static readonly DEFAULT_ENTRYPOINT_ADDRESS = "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789";
    static readonly DEFAULT_SAFE_4337_MODULE_ADDRESS = "0xa581c4A4DB7175302464fF3C06380BC3270b4037";
    static readonly DEFAULT_SAFE_MODULE_SETUP_ADDRESS = "0x8EcD4ec46D4D2a6B64fE960B3D64e8B94B2234eb";
    constructor(accountAddress: string, overrides?: {
        safe4337ModuleAddress?: string;
        entrypointAddress?: string;
        onChainIdentifierParams?: OnChainIdentifierParamsType;
        onChainIdentifier?: string;
    });
    static createAccountAddress(owners: Signer[], overrides?: {
        threshold?: number;
        c2Nonce?: bigint;
        safe4337ModuleAddress?: string;
        safeModuleSetupddress?: string;
        safeAccountSingleton?: SafeAccountSingleton;
        safeAccountFactoryAddress?: string;
        multisendContractAddress?: string;
        webAuthnSharedSigner?: string;
        eip7212WebAuthnPrecompileVerifierForSharedSigner?: string;
        eip7212WebAuthnContractVerifierForSharedSigner?: string;
    }): string;
    static initializeNewAccount(owners: Signer[], overrides?: InitCodeOverrides): SafeAccountV0_2_0;
    static getUserOperationEip712Hash(useroperation: UserOperationV6, chainId: bigint, overrides?: {
        validAfter?: bigint;
        validUntil?: bigint;
        entrypointAddress?: string;
        safe4337ModuleAddress?: string;
    }): string;
    static getUserOperationEip712Data(useroperation: UserOperationV6, chainId: bigint, overrides?: {
        validAfter?: bigint;
        validUntil?: bigint;
        entrypointAddress?: string;
        safe4337ModuleAddress?: string;
    }): {
        domain: SafeUserOperationTypedDataDomain;
        types: Record<string, {
            name: string;
            type: string;
        }[]>;
        messageValue: SafeUserOperationV6TypedMessageValue;
    };
    static createAccountAddressAndInitCode(owners: Signer[], overrides?: InitCodeOverrides): [string, string];
    static createInitializerCallData(owners: Signer[], threshold: number, overrides?: {
        safe4337ModuleAddress?: string;
        safeModuleSetupddress?: string;
        multisendContractAddress?: string;
        webAuthnSharedSigner?: string;
        eip7212WebAuthnPrecompileVerifierForSharedSigner?: string;
        eip7212WebAuthnContractVerifierForSharedSigner?: string;
    }): string;
    static createInitCode(owners: Signer[], overrides?: InitCodeOverrides): string;
    createUserOperation(transactions: MetaTransaction[], providerRpc?: string, bundlerRpc?: string, overrides?: CreateUserOperationV6Overrides): Promise<UserOperationV6>;
    createMigrateToSafeAccountV0_3_0MetaTransactions(nodeRpcUrl: string, overrides?: {
        safeV06ModuleAddress?: string;
        safeV07ModuleAddress?: string;
        safeV06PrevModuleAddress?: string;
        pageSize?: bigint;
        modulesStart?: string;
    }): Promise<MetaTransaction[]>;
}
//# sourceMappingURL=SafeAccountV0_2_0.d.ts.map