import { Seed } from '../../entities/Secret/implementations/Seed';
import { SerializedWallet } from '../../Wallet';
import { SerializedSeedableWallet, SeedableWallet } from '../../abstract/SeedableWallet';
import { ChainGateClient } from 'chaingate-client';
import { Encrypted } from '../../entities/WalletEncryption/Encrypted';
import { Phrase } from '../../entities/Secret/implementations/Phrase';
import { Encrypt } from '../../entities/WalletEncryption/WalletEncryption';
export declare class PhraseWallet extends SeedableWallet {
    constructor(apiClient: ChainGateClient, secret: Phrase | Encrypted, askForPassword?: (attempts: number, reject: () => void) => Promise<string>);
    protected serializeInternal(): Promise<SerializedWallet>;
    getPhrase(): Promise<Phrase>;
    getSeed(): Promise<Seed>;
    static new(apiKey: string, phrase: string, warnAboutUnencrypted: boolean, encrypt?: Encrypt): Promise<PhraseWallet>;
    static import(apiKey: string, serialized: SerializedSeedableWallet, askForPassword: (attempts: number, reject: () => void) => Promise<string>): Promise<PhraseWallet>;
}
