///
import { EventEmitter } from 'events';
import bitcore from 'bitcore-lib';
interface KeystoneKey {
path: string;
extendedPublicKey: string;
}
interface DeserializeOption {
mfp: string;
keys: KeystoneKey[];
hdPath?: string;
activeIndexes?: number[];
}
interface Wallet {
index: number;
publicKey: string;
path: string;
}
export declare class KeystoneKeyring extends EventEmitter {
static type: string;
type: string;
mfp: string;
keys: KeystoneKey[];
hdPath?: string;
activeIndexes?: number[];
root: bitcore.HDPublicKey;
page: number;
perPage: number;
origin: string;
constructor(opts?: DeserializeOption);
initFromUR(type: string, cbor: string): Promise;
getHardenedPath(hdPath: string): string;
getHDPublicKey(hdPath: string): any;
getDefaultHdPath(): string;
initRoot(): void;
deserialize(opts: DeserializeOption): Promise;
serialize(): Promise;
addAccounts(numberOfAccounts?: number): Promise;
addChangeAddressAccounts(numberOfAccounts?: number): Promise;
getAccounts(): Promise;
getAccounts2(): Promise<{
index: number;
path: string;
publicKey: any;
}[]>;
getAccountsWithBrand(): Promise<{
address: string;
index: number;
}[]>;
getWalletByIndex(index: number): Wallet;
getChangeAddressWalletByIndex(index: number): Wallet;
removeAccount(publicKey: string): void;
exportAccount(_publicKey: string): Promise;
getFirstPage(): Promise<{
address: string;
index: number;
}[]>;
getNextPage(): Promise<{
address: string;
index: number;
}[]>;
getPreviousPage(): Promise<{
address: string;
index: number;
}[]>;
getAddresses(start: number, end: number): {
address: string;
index: number;
}[];
getPage(increment: number): Promise<{
address: string;
index: number;
}[]>;
activeAccounts(indexes: number[]): string[];
changeHdPath(hdPath: string): void;
changeChangeAddressHdPath(hdPath: string): any[];
getAccountByHdPath(hdPath: string, index: number): any;
getChangeAddressAccountByHdPath(hdPath: string, index: number): any;
genSignPsbtUr(psbtHex: string): Promise<{
type: string;
cbor: string;
}>;
parseSignPsbtUr(type: string, cbor: string): Promise;
genSignMsgUr(publicKey: string, text: string): Promise<{
requestId: any;
type: string;
cbor: string;
}>;
parseSignMsgUr(type: string, cbor: string): Promise;
signMessage(publicKey: string, text: string): Promise;
verifyMessage(publicKey: string, text: string, sig: string): Promise;
}
export {};