import { Connection, Keypair, VersionedTransaction } from '@solana/web3.js';
import { ethers } from 'ethers';
import { SubAccount } from '../../types/proxy.types';
export declare class AccountActions {
    static getEvmPrivateKeyFromSolanaPrivateKey: (solanaPrivateKey: string) => string;
    static getSolanaPrivateKeyFromEvmPrivateKey: (evmPrivateKey: string) => string;
    static getSolanaSignerFromPrivateKey: (secretKeyBase58: string) => Keypair;
    static getSignerAddressFromPrivateKey(chainId: number, privateKey: string): string;
    static signMessageFromPrivateKey: (chainId: number, privateKey: string, message: string) => Promise<string>;
    static signSolanaTransactionFromPrivateKey: (chainId: number, privateKey: string, transaction: VersionedTransaction) => void;
    static sendAndSignSolanaTransactionFromPrivateKey: (connection: Connection, privateKey: string, transaction: VersionedTransaction, skipPreflight?: boolean) => Promise<string>;
    static signTypedDataFromPrivateKey: (chainId: number, privateKey: string, domain: ethers.TypedDataDomain, types: Record<string, Array<ethers.TypedDataField>>, value: Record<string, any>) => Promise<string>;
    static authorizeDelegation: (chainId: number, privateKey: string, implementation: string, nonce?: number) => Promise<ethers.Authorization>;
    static getAddressFromSubAccount: (chainId: number, subAccount: SubAccount) => string | undefined;
    static getPrivateKeyFromSubAccount: (chainId: number, subAccount: SubAccount) => string | undefined;
    static getAvailableAddressFromSubAccount: (subAccount: SubAccount) => string;
}
