import { Logger, Promisable, RpcNode, RpcRequest, Transport, WalletHandlers } from "@ledgerhq/wallet-api-core"; import { AccountModule } from "./modules/Account"; import { BitcoinModule } from "./modules/Bitcoin"; import { CurrencyModule } from "./modules/Currency"; import { CustomModule } from "./modules/Custom"; import { DeviceModule } from "./modules/Device"; import { ExchangeModule } from "./modules/Exchange"; import { MessageModule } from "./modules/Message"; import { StorageModule } from "./modules/Storage"; import { TransactionModule } from "./modules/Transaction"; import { WalletModule } from "./modules/Wallet"; export declare const defaultLogger: Logger; export type RPCHandler = (request: RpcRequest) => Promisable; export type EventHandlers = Record<`event.${string}`, RPCHandler>; declare const requestHandlers: { "event.account.updated": (_request: RpcRequest) => Promise; }; export type AnyCustomGetter = (client: WalletAPIClient) => CustomModule | Record; /** * WalletAPI Client which rely on WindowMessage communication */ export declare class WalletAPIClient extends RpcNode { /** * Instance of the Account module */ account: AccountModule; /** * Instance of the Bitcoin module */ bitcoin: BitcoinModule; /** * Instance of the Currency module */ currency: CurrencyModule; /** * Instance of the Device module */ device: DeviceModule; /** * Instance of the Message module */ message: MessageModule; /** * Instance of the Storage module */ storage: StorageModule; /** * Instance of the Transaction module */ transaction: TransactionModule; /** * Instance of the Wallet module */ wallet: WalletModule; /** * Instance of the Wallet module */ exchange: ExchangeModule; /** * Instance of the Custom module */ custom: CustomGetter extends (client: WalletAPIClient) => infer TCustomModule ? TCustomModule : ReturnType; private logger; constructor(transport: Transport, logger?: Logger, getCustomModule?: CustomGetter, eventHandlers?: EventHandlers); setEventHandlers(eventHandlers: EventHandlers): void; protected onRequest(request: RpcRequest): Promise; } export {}; //# sourceMappingURL=WalletAPIClient.d.ts.map