declare module 'dirty-chai'; declare module 'es6-promisify'; // tslint:disable:max-classes-per-file // tslint:disable:class-name // tslint:disable:async-suffix // tslint:disable:completed-docs // Ethereumjs-tx declarations declare module 'ethereumjs-tx' { class EthereumTx { public raw: Buffer[]; public r: Buffer; public s: Buffer; public v: Buffer; public serialize(): Buffer; constructor(txParams: any); } export = EthereumTx; } // Ledgerco declarations interface ECSignatureString { v: string; r: string; s: string; } interface ECSignature { v: number; r: string; s: string; } declare module 'ledgerco' { interface comm { close_async(): Promise; } export class comm_node implements comm { public static create_async(timeoutMilliseconds?: number): Promise; public close_async(): Promise; } export class comm_u2f implements comm { public static create_async(): Promise; public close_async(): Promise; } export class eth { public comm: comm; constructor(comm: comm); public getAddress_async( path: string, display?: boolean, chaincode?: boolean, ): Promise<{ publicKey: string; address: string; chainCode: string }>; public signTransaction_async(path: string, rawTxHex: string): Promise; public getAppConfiguration_async(): Promise<{ arbitraryDataEnabled: number; version: string; }>; public signPersonalMessage_async(path: string, messageHex: string): Promise; } } // Semaphore-async-await declarations declare module 'semaphore-async-await' { class Semaphore { constructor(permits: number); public wait(): Promise; public signal(): void; } export default Semaphore; } // web3-provider-engine declarations declare module 'web3-provider-engine/subproviders/subprovider' { class Subprovider {} export = Subprovider; } declare module 'web3-provider-engine/subproviders/rpc' { import * as Web3 from 'web3'; class RpcSubprovider { constructor(options: { rpcUrl: string }); public handleRequest( payload: Web3.JSONRPCRequestPayload, next: () => void, end: (err: Error | null, data?: any) => void, ): void; } export = RpcSubprovider; } declare module 'web3-provider-engine' { class Web3ProviderEngine { public on(event: string, handler: () => void): void; public send(payload: any): void; public sendAsync(payload: any, callback: (error: any, response: any) => void): void; public addProvider(provider: any): void; public start(): void; public stop(): void; } export = Web3ProviderEngine; } // hdkey declarations declare module 'hdkey' { class HDNode { public publicKey: Buffer; public chainCode: Buffer; public constructor(); public derive(path: string): HDNode; } export = HDNode; }