// tslint:disable:max-classes-per-file // tslint:disable:class-name // tslint:disable:async-suffix // tslint:disable:completed-docs // Ethereumjs-tx declarations // 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-u2f' { export default class TransportU2F 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; } } // hdkey declarations declare module 'hdkey' { class HDNode { public static fromMasterSeed(seed: Buffer): HDNode; public publicKey: Buffer; public privateKey: Buffer; public chainCode: Buffer; public constructor(); public derive(path: string): HDNode; } export = HDNode; } declare module '*.json' { const json: any; /* tslint:disable */ export default json; /* tslint:enable */ }