export declare type BlockchainType = "ethereum";
export declare type SeedType = "raw" | "ledger" | "mnemonic";
export declare type SeedRef = {
    id: string;
};
export declare type SeedDescription = {
    id: string;
    type: SeedType;
    available: boolean;
};
export declare type SeedDefinition = {
    type: SeedType;
    raw?: RawSeed;
    ledger?: LedgerSeed;
    mnemonic?: MnemonicSeed;
};
export declare type MnemonicSeed = {
    value: string;
    password?: string;
};
export declare type LedgerSeed = {};
export declare type RawSeed = {
    value: string;
};
export declare class Seed {
    list(): Promise<SeedRef[]>;
    import(seed: SeedDefinition): Promise<SeedDescription>;
    isAvailable(seed: SeedRef | SeedDefinition): boolean;
    listAddresses(seed: SeedRef | SeedDefinition, blockchain: BlockchainType, hdpath: string[]): {
        [key: string]: string;
    };
}
