import type { KeyringPair, KeyringPair$Json, KeyringPair$Meta } from '@polkadot/keyring/types'; import type { BN } from '@polkadot/util'; import type { EncryptedJson } from '@polkadot/util-crypto/json/types'; import type { KeypairType } from '@polkadot/util-crypto/types'; import type { SingleAddress } from './observable/types.js'; import type { CreateResult, KeyringAddress, KeyringAddressType, KeyringItemType, KeyringJson$Meta, KeyringOptions, KeyringPairs$Json, KeyringStruct } from './types.js'; import { KeyringOption } from './options/index.js'; import { Base } from './Base.js'; export declare class Keyring extends Base implements KeyringStruct { #private; readonly keyringOption: KeyringOption; addExternal(address: string | Uint8Array, meta?: KeyringPair$Meta): CreateResult; addHardware(address: string | Uint8Array, hardwareType: string, meta?: KeyringPair$Meta): CreateResult; addMultisig(addresses: (string | Uint8Array)[], threshold: bigint | BN | number, meta?: KeyringPair$Meta): CreateResult; addPair(pair: KeyringPair, password: string): CreateResult; addUri(suri: string, password?: string, meta?: KeyringPair$Meta, type?: KeypairType): CreateResult; backupAccount(pair: KeyringPair, password: string): KeyringPair$Json; backupAccounts(addresses: string[], password: string): Promise; createFromJson(json: KeyringPair$Json, meta?: KeyringPair$Meta): KeyringPair; createFromUri(suri: string, meta?: KeyringPair$Meta, type?: KeypairType): KeyringPair; encryptAccount(pair: KeyringPair, password: string): void; forgetAccount(address: string): void; forgetAddress(address: string): void; forgetContract(address: string): void; getAccount(address: string | Uint8Array): KeyringAddress | undefined; getAccounts(): KeyringAddress[]; getAddress(_address: string | Uint8Array, type?: KeyringItemType | null): KeyringAddress | undefined; getAddresses(): KeyringAddress[]; getContract(address: string | Uint8Array): KeyringAddress | undefined; getContracts(): KeyringAddress[]; private rewriteKey; private loadAccount; private loadAddress; private loadContract; private loadInjected; private allowGenesis; loadAll(options: KeyringOptions, injected?: { address: string; meta: KeyringJson$Meta; type?: KeypairType; }[]): void; restoreAccount(json: KeyringPair$Json, password: string): KeyringPair; restoreAccounts(json: EncryptedJson, password: string): void; saveAccount(pair: KeyringPair, password?: string): KeyringPair$Json; saveAccountMeta(pair: KeyringPair, meta: KeyringPair$Meta): void; saveAddress(address: string, meta: KeyringPair$Meta, type?: KeyringAddressType): KeyringPair$Json; saveContract(address: string, meta: KeyringPair$Meta): KeyringPair$Json; saveRecent(address: string): SingleAddress; }