import { CryptoWalletConfig, CryptoWalletEngine, GenerateKeyPairResponse, RecoverPrivateKeyData } from "../../common/interfaces";
export type EvmCryptoWalletData = {
    address: string;
    nonce: string;
    serverSecretPart: string;
    userSecretPart: string;
    recoverySecretPart: string;
};
export declare class EvmCryptoWallet implements CryptoWalletEngine {
    protected config: CryptoWalletConfig;
    private isInitialized;
    private serverPrivateKey;
    constructor(config: CryptoWalletConfig);
    protected validateServerKey(serverKeyHex: string): Promise<void>;
    private init;
    private tryDec;
    protected buildUserPrivate(userPin?: string): string;
    protected buildServerPrivate(): string;
    protected buildRecoveryPrivate(userPin?: string): string;
    importWallet(privateKey: any, userPin?: string): Promise<EvmCryptoWalletData>;
    createWallet(userPin?: string): Promise<EvmCryptoWalletData>;
    protected processGeneratedKey(userPin: string, privateKey: string, publicKey: string): EvmCryptoWalletData;
    protected generateKeyPair(): Promise<GenerateKeyPairResponse>;
    protected splitPrivateKeyToParts(pkBytes: Uint8Array, nonce: Uint8Array): [string, string, string];
    recoverPrivateKey(data: RecoverPrivateKeyData): Promise<string>;
}
