///
import { InteractionProvider } from "./InteractionProvider";
import { CryptoMultiAccounts } from "@keystonehq/bc-ur-registry";
import { SolSignRequest } from "@keystonehq/bc-ur-registry-sol";
export interface HDKey {
hdPath: string;
pubKey: string;
index: number;
}
interface KeyringInitData {
xfp: string;
keys: HDKey[];
name?: string;
device?: string;
}
export declare class BaseKeyring {
getInteraction: () => InteractionProvider;
static type: string;
protected xfp: string;
protected type: string;
protected initialized: boolean;
protected keys: HDKey[];
protected name: string;
protected device: string;
constructor();
protected requestSignature: (_requestId: string, signRequest: SolSignRequest, requestTitle?: string, requestDescription?: string) => Promise;
readKeyring(): Promise;
syncKeyring(data: CryptoMultiAccounts): void;
syncKeyringData({ xfp, keys, name, device, }: KeyringInitData): void;
getName: () => string;
getAccounts(): HDKey[];
signTransaction(pubKey: string, txHex: Uint8Array): Promise;
signMessage(pubKey: string, messageHex: Uint8Array): Promise;
createSignature(pubKey: string, messageHex: Uint8Array): Promise;
_getSignature(pubKey: string, messageHex: Buffer, signType: any): Promise;
}
export {};