/** Net interface supports http transport */ export interface Net { /** base URL */ readonly baseURL : string ; param method param path param params returns http ( method , path , params ? ) : Promise < any > ; param path openWebSocketReader ( path ) : Net . WebSocketReader ; } export namespace Net { /** http request params */ export interface Params { query ? : Record < string , string > ; body ? : any ; headers ? : Record < string , string > ; validateResponseHeader ? : ( headers : Record < string , string > ) => void ; } /** websocket reader */ export interface WebSocketReader { /** read data */ read ( ) : Promise < any > ; close ( ) : void ; } } /** Wallet interface manages private keys */ export interface Wallet { /** list all keys */ readonly list : Wallet . Key [ ] ; } export namespace Wallet { /** describes an operational key */ export interface Key { /** address derived from key */ address : string ; param msgHash returns sign ( msgHash ) : Promise < Buffer > ; } }