// Ledgerco declarations interface ECSignatureString { v: string; r: string; s: string; } interface ECSignature { v: number; r: string; s: string; } interface LedgerTransport { close(): Promise; } declare module '@ledgerhq/hw-app-eth' { class Eth { public transport: LedgerTransport; constructor(transport: LedgerTransport); public getAddress( path: string, boolDisplay?: boolean, boolChaincode?: boolean, ): Promise<{ publicKey: string; address: string; chainCode: string }>; public signTransaction(path: string, rawTxHex: string): Promise; public getAppConfiguration(): Promise<{ arbitraryDataEnabled: number; version: string }>; public signPersonalMessage(path: string, messageHex: string): Promise; } export default Eth; } declare module '@ledgerhq/hw-transport-webusb' { export default class TransportWebUSB implements LedgerTransport { public static create(): Promise; public close(): Promise; } } declare module '@ledgerhq/hw-transport-node-hid' { export default class TransportNodeHid implements LedgerTransport { public static create(): Promise; public close(): Promise; } }