index.d.ts 55 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285
  1. // Generated by typings
  2. // Source: https://raw.githubusercontent.com/DefinitelyTyped/DefinitelyTyped/6834f97fb33561a3ad40695084da2b660efaee29/node/node.d.ts
  3. // Type definitions for Node.js v0.10.1
  4. // Project: http://nodejs.org/
  5. // Definitions: https://github.com/borisyankov/DefinitelyTyped
  6. /************************************************
  7. * *
  8. * Node.js v0.10.1 API *
  9. * *
  10. ************************************************/
  11. /************************************************
  12. * *
  13. * GLOBAL *
  14. * *
  15. ************************************************/
  16. declare var process: NodeJS.Process;
  17. declare var global: any;
  18. declare var __filename: string;
  19. declare var __dirname: string;
  20. declare function setTimeout(callback: (...args: any[]) => void, ms: number, ...args: any[]): NodeJS.Timer;
  21. declare function clearTimeout(timeoutId: NodeJS.Timer): void;
  22. declare function setInterval(callback: (...args: any[]) => void, ms: number, ...args: any[]): NodeJS.Timer;
  23. declare function clearInterval(intervalId: NodeJS.Timer): void;
  24. declare function setImmediate(callback: (...args: any[]) => void, ...args: any[]): any;
  25. declare function clearImmediate(immediateId: any): void;
  26. declare var require: {
  27. (id: string): any;
  28. resolve(id:string): string;
  29. cache: any;
  30. extensions: any;
  31. main: any;
  32. };
  33. declare var module: {
  34. exports: any;
  35. require(id: string): any;
  36. id: string;
  37. filename: string;
  38. loaded: boolean;
  39. parent: any;
  40. children: any[];
  41. };
  42. // Same as module.exports
  43. declare var exports: any;
  44. declare var SlowBuffer: {
  45. new (str: string, encoding?: string): Buffer;
  46. new (size: number): Buffer;
  47. new (array: any[]): Buffer;
  48. prototype: Buffer;
  49. isBuffer(obj: any): boolean;
  50. byteLength(string: string, encoding?: string): number;
  51. concat(list: Buffer[], totalLength?: number): Buffer;
  52. };
  53. // Buffer class
  54. interface Buffer extends NodeBuffer {}
  55. declare var Buffer: {
  56. new (str: string, encoding?: string): Buffer;
  57. new (size: number): Buffer;
  58. new (array: any[]): Buffer;
  59. prototype: Buffer;
  60. isBuffer(obj: any): boolean;
  61. byteLength(string: string, encoding?: string): number;
  62. concat(list: Buffer[], totalLength?: number): Buffer;
  63. }
  64. /************************************************
  65. * *
  66. * GLOBAL INTERFACES *
  67. * *
  68. ************************************************/
  69. declare module NodeJS {
  70. export interface ErrnoException extends Error {
  71. errno?: any;
  72. code?: string;
  73. path?: string;
  74. syscall?: string;
  75. }
  76. export interface EventEmitter {
  77. addListener(event: string, listener: Function): EventEmitter;
  78. on(event: string, listener: Function): EventEmitter;
  79. once(event: string, listener: Function): EventEmitter;
  80. removeListener(event: string, listener: Function): EventEmitter;
  81. removeAllListeners(event?: string): EventEmitter;
  82. setMaxListeners(n: number): void;
  83. listeners(event: string): Function[];
  84. emit(event: string, ...args: any[]): boolean;
  85. }
  86. export interface ReadableStream extends EventEmitter {
  87. readable: boolean;
  88. read(size?: number): any;
  89. setEncoding(encoding: string): void;
  90. pause(): void;
  91. resume(): void;
  92. pipe<T extends WritableStream>(destination: T, options?: { end?: boolean; }): T;
  93. unpipe<T extends WritableStream>(destination?: T): void;
  94. unshift(chunk: string): void;
  95. unshift(chunk: Buffer): void;
  96. wrap(oldStream: ReadableStream): ReadableStream;
  97. }
  98. export interface WritableStream extends EventEmitter {
  99. writable: boolean;
  100. write(buffer: Buffer, cb?: Function): boolean;
  101. write(str: string, cb?: Function): boolean;
  102. write(str: string, encoding?: string, cb?: Function): boolean;
  103. end(): void;
  104. end(buffer: Buffer, cb?: Function): void;
  105. end(str: string, cb?: Function): void;
  106. end(str: string, encoding?: string, cb?: Function): void;
  107. }
  108. export interface ReadWriteStream extends ReadableStream, WritableStream {}
  109. export interface Process extends EventEmitter {
  110. stdout: WritableStream;
  111. stderr: WritableStream;
  112. stdin: ReadableStream;
  113. argv: string[];
  114. execPath: string;
  115. abort(): void;
  116. chdir(directory: string): void;
  117. cwd(): string;
  118. env: any;
  119. exit(code?: number): void;
  120. getgid(): number;
  121. setgid(id: number): void;
  122. setgid(id: string): void;
  123. getuid(): number;
  124. setuid(id: number): void;
  125. setuid(id: string): void;
  126. version: string;
  127. versions: {
  128. http_parser: string;
  129. node: string;
  130. v8: string;
  131. ares: string;
  132. uv: string;
  133. zlib: string;
  134. openssl: string;
  135. };
  136. config: {
  137. target_defaults: {
  138. cflags: any[];
  139. default_configuration: string;
  140. defines: string[];
  141. include_dirs: string[];
  142. libraries: string[];
  143. };
  144. variables: {
  145. clang: number;
  146. host_arch: string;
  147. node_install_npm: boolean;
  148. node_install_waf: boolean;
  149. node_prefix: string;
  150. node_shared_openssl: boolean;
  151. node_shared_v8: boolean;
  152. node_shared_zlib: boolean;
  153. node_use_dtrace: boolean;
  154. node_use_etw: boolean;
  155. node_use_openssl: boolean;
  156. target_arch: string;
  157. v8_no_strict_aliasing: number;
  158. v8_use_snapshot: boolean;
  159. visibility: string;
  160. };
  161. };
  162. kill(pid: number, signal?: string): void;
  163. pid: number;
  164. title: string;
  165. arch: string;
  166. platform: string;
  167. memoryUsage(): { rss: number; heapTotal: number; heapUsed: number; };
  168. nextTick(callback: Function): void;
  169. umask(mask?: number): number;
  170. uptime(): number;
  171. hrtime(time?:number[]): number[];
  172. // Worker
  173. send?(message: any, sendHandle?: any): void;
  174. }
  175. export interface Timer {
  176. ref() : void;
  177. unref() : void;
  178. }
  179. }
  180. /**
  181. * @deprecated
  182. */
  183. interface NodeBuffer {
  184. [index: number]: number;
  185. write(string: string, offset?: number, length?: number, encoding?: string): number;
  186. toString(encoding?: string, start?: number, end?: number): string;
  187. length: number;
  188. copy(targetBuffer: Buffer, targetStart?: number, sourceStart?: number, sourceEnd?: number): number;
  189. slice(start?: number, end?: number): Buffer;
  190. readUInt8(offset: number, noAsset?: boolean): number;
  191. readUInt16LE(offset: number, noAssert?: boolean): number;
  192. readUInt16BE(offset: number, noAssert?: boolean): number;
  193. readUInt32LE(offset: number, noAssert?: boolean): number;
  194. readUInt32BE(offset: number, noAssert?: boolean): number;
  195. readInt8(offset: number, noAssert?: boolean): number;
  196. readInt16LE(offset: number, noAssert?: boolean): number;
  197. readInt16BE(offset: number, noAssert?: boolean): number;
  198. readInt32LE(offset: number, noAssert?: boolean): number;
  199. readInt32BE(offset: number, noAssert?: boolean): number;
  200. readFloatLE(offset: number, noAssert?: boolean): number;
  201. readFloatBE(offset: number, noAssert?: boolean): number;
  202. readDoubleLE(offset: number, noAssert?: boolean): number;
  203. readDoubleBE(offset: number, noAssert?: boolean): number;
  204. writeUInt8(value: number, offset: number, noAssert?: boolean): void;
  205. writeUInt16LE(value: number, offset: number, noAssert?: boolean): void;
  206. writeUInt16BE(value: number, offset: number, noAssert?: boolean): void;
  207. writeUInt32LE(value: number, offset: number, noAssert?: boolean): void;
  208. writeUInt32BE(value: number, offset: number, noAssert?: boolean): void;
  209. writeInt8(value: number, offset: number, noAssert?: boolean): void;
  210. writeInt16LE(value: number, offset: number, noAssert?: boolean): void;
  211. writeInt16BE(value: number, offset: number, noAssert?: boolean): void;
  212. writeInt32LE(value: number, offset: number, noAssert?: boolean): void;
  213. writeInt32BE(value: number, offset: number, noAssert?: boolean): void;
  214. writeFloatLE(value: number, offset: number, noAssert?: boolean): void;
  215. writeFloatBE(value: number, offset: number, noAssert?: boolean): void;
  216. writeDoubleLE(value: number, offset: number, noAssert?: boolean): void;
  217. writeDoubleBE(value: number, offset: number, noAssert?: boolean): void;
  218. fill(value: any, offset?: number, end?: number): void;
  219. }
  220. /************************************************
  221. * *
  222. * MODULES *
  223. * *
  224. ************************************************/
  225. declare module "querystring" {
  226. export function stringify(obj: any, sep?: string, eq?: string): string;
  227. export function parse(str: string, sep?: string, eq?: string, options?: { maxKeys?: number; }): any;
  228. export function escape(): any;
  229. export function unescape(): any;
  230. }
  231. declare module "events" {
  232. export class EventEmitter implements NodeJS.EventEmitter {
  233. static listenerCount(emitter: EventEmitter, event: string): number;
  234. addListener(event: string, listener: Function): EventEmitter;
  235. on(event: string, listener: Function): EventEmitter;
  236. once(event: string, listener: Function): EventEmitter;
  237. removeListener(event: string, listener: Function): EventEmitter;
  238. removeAllListeners(event?: string): EventEmitter;
  239. setMaxListeners(n: number): void;
  240. listeners(event: string): Function[];
  241. emit(event: string, ...args: any[]): boolean;
  242. }
  243. }
  244. declare module "http" {
  245. import events = require("events");
  246. import net = require("net");
  247. import stream = require("stream");
  248. export interface Server extends events.EventEmitter {
  249. listen(port: number, hostname?: string, backlog?: number, callback?: Function): Server;
  250. listen(path: string, callback?: Function): Server;
  251. listen(handle: any, listeningListener?: Function): Server;
  252. close(cb?: any): Server;
  253. address(): { port: number; family: string; address: string; };
  254. maxHeadersCount: number;
  255. }
  256. export interface ServerRequest extends events.EventEmitter, stream.Readable {
  257. method: string;
  258. url: string;
  259. headers: any;
  260. trailers: string;
  261. httpVersion: string;
  262. setEncoding(encoding?: string): void;
  263. pause(): void;
  264. resume(): void;
  265. connection: net.Socket;
  266. }
  267. export interface ServerResponse extends events.EventEmitter, stream.Writable {
  268. // Extended base methods
  269. write(buffer: Buffer): boolean;
  270. write(buffer: Buffer, cb?: Function): boolean;
  271. write(str: string, cb?: Function): boolean;
  272. write(str: string, encoding?: string, cb?: Function): boolean;
  273. write(str: string, encoding?: string, fd?: string): boolean;
  274. writeContinue(): void;
  275. writeHead(statusCode: number, reasonPhrase?: string, headers?: any): void;
  276. writeHead(statusCode: number, headers?: any): void;
  277. statusCode: number;
  278. setHeader(name: string, value: string): void;
  279. sendDate: boolean;
  280. getHeader(name: string): string;
  281. removeHeader(name: string): void;
  282. write(chunk: any, encoding?: string): any;
  283. addTrailers(headers: any): void;
  284. // Extended base methods
  285. end(): void;
  286. end(buffer: Buffer, cb?: Function): void;
  287. end(str: string, cb?: Function): void;
  288. end(str: string, encoding?: string, cb?: Function): void;
  289. end(data?: any, encoding?: string): void;
  290. }
  291. export interface ClientRequest extends events.EventEmitter, stream.Writable {
  292. // Extended base methods
  293. write(buffer: Buffer): boolean;
  294. write(buffer: Buffer, cb?: Function): boolean;
  295. write(str: string, cb?: Function): boolean;
  296. write(str: string, encoding?: string, cb?: Function): boolean;
  297. write(str: string, encoding?: string, fd?: string): boolean;
  298. write(chunk: any, encoding?: string): void;
  299. abort(): void;
  300. setTimeout(timeout: number, callback?: Function): void;
  301. setNoDelay(noDelay?: Function): void;
  302. setSocketKeepAlive(enable?: boolean, initialDelay?: number): void;
  303. // Extended base methods
  304. end(): void;
  305. end(buffer: Buffer, cb?: Function): void;
  306. end(str: string, cb?: Function): void;
  307. end(str: string, encoding?: string, cb?: Function): void;
  308. end(data?: any, encoding?: string): void;
  309. }
  310. export interface ClientResponse extends events.EventEmitter, stream.Readable {
  311. statusCode: number;
  312. httpVersion: string;
  313. headers: any;
  314. trailers: any;
  315. setEncoding(encoding?: string): void;
  316. pause(): void;
  317. resume(): void;
  318. }
  319. export interface Agent { maxSockets: number; sockets: any; requests: any; }
  320. export var STATUS_CODES: any;
  321. export function createServer(requestListener?: (request: ServerRequest, response: ServerResponse) =>void ): Server;
  322. export function createClient(port?: number, host?: string): any;
  323. export function request(options: any, callback?: Function): ClientRequest;
  324. export function get(options: any, callback?: Function): ClientRequest;
  325. export var globalAgent: Agent;
  326. }
  327. declare module "cluster" {
  328. import child = require("child_process");
  329. import events = require("events");
  330. export interface ClusterSettings {
  331. exec?: string;
  332. args?: string[];
  333. silent?: boolean;
  334. }
  335. export class Worker extends events.EventEmitter {
  336. id: string;
  337. process: child.ChildProcess;
  338. suicide: boolean;
  339. send(message: any, sendHandle?: any): void;
  340. kill(signal?: string): void;
  341. destroy(signal?: string): void;
  342. disconnect(): void;
  343. }
  344. export var settings: ClusterSettings;
  345. export var isMaster: boolean;
  346. export var isWorker: boolean;
  347. export function setupMaster(settings?: ClusterSettings): void;
  348. export function fork(env?: any): Worker;
  349. export function disconnect(callback?: Function): void;
  350. export var worker: Worker;
  351. export var workers: Worker[];
  352. // Event emitter
  353. export function addListener(event: string, listener: Function): void;
  354. export function on(event: string, listener: Function): any;
  355. export function once(event: string, listener: Function): void;
  356. export function removeListener(event: string, listener: Function): void;
  357. export function removeAllListeners(event?: string): void;
  358. export function setMaxListeners(n: number): void;
  359. export function listeners(event: string): Function[];
  360. export function emit(event: string, ...args: any[]): boolean;
  361. }
  362. declare module "zlib" {
  363. import stream = require("stream");
  364. export interface ZlibOptions { chunkSize?: number; windowBits?: number; level?: number; memLevel?: number; strategy?: number; dictionary?: any; }
  365. export interface Gzip extends stream.Transform { }
  366. export interface Gunzip extends stream.Transform { }
  367. export interface Deflate extends stream.Transform { }
  368. export interface Inflate extends stream.Transform { }
  369. export interface DeflateRaw extends stream.Transform { }
  370. export interface InflateRaw extends stream.Transform { }
  371. export interface Unzip extends stream.Transform { }
  372. export function createGzip(options?: ZlibOptions): Gzip;
  373. export function createGunzip(options?: ZlibOptions): Gunzip;
  374. export function createDeflate(options?: ZlibOptions): Deflate;
  375. export function createInflate(options?: ZlibOptions): Inflate;
  376. export function createDeflateRaw(options?: ZlibOptions): DeflateRaw;
  377. export function createInflateRaw(options?: ZlibOptions): InflateRaw;
  378. export function createUnzip(options?: ZlibOptions): Unzip;
  379. export function deflate(buf: Buffer, callback: (error: Error, result: any) =>void ): void;
  380. export function deflateRaw(buf: Buffer, callback: (error: Error, result: any) =>void ): void;
  381. export function gzip(buf: Buffer, callback: (error: Error, result: any) =>void ): void;
  382. export function gunzip(buf: Buffer, callback: (error: Error, result: any) =>void ): void;
  383. export function inflate(buf: Buffer, callback: (error: Error, result: any) =>void ): void;
  384. export function inflateRaw(buf: Buffer, callback: (error: Error, result: any) =>void ): void;
  385. export function unzip(buf: Buffer, callback: (error: Error, result: any) =>void ): void;
  386. // Constants
  387. export var Z_NO_FLUSH: number;
  388. export var Z_PARTIAL_FLUSH: number;
  389. export var Z_SYNC_FLUSH: number;
  390. export var Z_FULL_FLUSH: number;
  391. export var Z_FINISH: number;
  392. export var Z_BLOCK: number;
  393. export var Z_TREES: number;
  394. export var Z_OK: number;
  395. export var Z_STREAM_END: number;
  396. export var Z_NEED_DICT: number;
  397. export var Z_ERRNO: number;
  398. export var Z_STREAM_ERROR: number;
  399. export var Z_DATA_ERROR: number;
  400. export var Z_MEM_ERROR: number;
  401. export var Z_BUF_ERROR: number;
  402. export var Z_VERSION_ERROR: number;
  403. export var Z_NO_COMPRESSION: number;
  404. export var Z_BEST_SPEED: number;
  405. export var Z_BEST_COMPRESSION: number;
  406. export var Z_DEFAULT_COMPRESSION: number;
  407. export var Z_FILTERED: number;
  408. export var Z_HUFFMAN_ONLY: number;
  409. export var Z_RLE: number;
  410. export var Z_FIXED: number;
  411. export var Z_DEFAULT_STRATEGY: number;
  412. export var Z_BINARY: number;
  413. export var Z_TEXT: number;
  414. export var Z_ASCII: number;
  415. export var Z_UNKNOWN: number;
  416. export var Z_DEFLATED: number;
  417. export var Z_NULL: number;
  418. }
  419. declare module "os" {
  420. export function tmpDir(): string;
  421. export function hostname(): string;
  422. export function type(): string;
  423. export function platform(): string;
  424. export function arch(): string;
  425. export function release(): string;
  426. export function uptime(): number;
  427. export function loadavg(): number[];
  428. export function totalmem(): number;
  429. export function freemem(): number;
  430. export function cpus(): { model: string; speed: number; times: { user: number; nice: number; sys: number; idle: number; irq: number; }; }[];
  431. export function networkInterfaces(): any;
  432. export var EOL: string;
  433. }
  434. declare module "https" {
  435. import tls = require("tls");
  436. import events = require("events");
  437. import http = require("http");
  438. export interface ServerOptions {
  439. pfx?: any;
  440. key?: any;
  441. passphrase?: string;
  442. cert?: any;
  443. ca?: any;
  444. crl?: any;
  445. ciphers?: string;
  446. honorCipherOrder?: boolean;
  447. requestCert?: boolean;
  448. rejectUnauthorized?: boolean;
  449. NPNProtocols?: any;
  450. SNICallback?: (servername: string) => any;
  451. }
  452. export interface RequestOptions {
  453. host?: string;
  454. hostname?: string;
  455. port?: number;
  456. path?: string;
  457. method?: string;
  458. headers?: any;
  459. auth?: string;
  460. agent?: any;
  461. pfx?: any;
  462. key?: any;
  463. passphrase?: string;
  464. cert?: any;
  465. ca?: any;
  466. ciphers?: string;
  467. rejectUnauthorized?: boolean;
  468. }
  469. export interface Agent {
  470. maxSockets: number;
  471. sockets: any;
  472. requests: any;
  473. }
  474. export var Agent: {
  475. new (options?: RequestOptions): Agent;
  476. };
  477. export interface Server extends tls.Server { }
  478. export function createServer(options: ServerOptions, requestListener?: Function): Server;
  479. export function request(options: RequestOptions, callback?: (res: events.EventEmitter) =>void ): http.ClientRequest;
  480. export function get(options: RequestOptions, callback?: (res: events.EventEmitter) =>void ): http.ClientRequest;
  481. export var globalAgent: Agent;
  482. }
  483. declare module "punycode" {
  484. export function decode(string: string): string;
  485. export function encode(string: string): string;
  486. export function toUnicode(domain: string): string;
  487. export function toASCII(domain: string): string;
  488. export var ucs2: ucs2;
  489. interface ucs2 {
  490. decode(string: string): string;
  491. encode(codePoints: number[]): string;
  492. }
  493. export var version: any;
  494. }
  495. declare module "repl" {
  496. import stream = require("stream");
  497. import events = require("events");
  498. export interface ReplOptions {
  499. prompt?: string;
  500. input?: NodeJS.ReadableStream;
  501. output?: NodeJS.WritableStream;
  502. terminal?: boolean;
  503. eval?: Function;
  504. useColors?: boolean;
  505. useGlobal?: boolean;
  506. ignoreUndefined?: boolean;
  507. writer?: Function;
  508. }
  509. export function start(options: ReplOptions): events.EventEmitter;
  510. }
  511. declare module "readline" {
  512. import events = require("events");
  513. import stream = require("stream");
  514. export interface ReadLine extends events.EventEmitter {
  515. setPrompt(prompt: string, length: number): void;
  516. prompt(preserveCursor?: boolean): void;
  517. question(query: string, callback: Function): void;
  518. pause(): void;
  519. resume(): void;
  520. close(): void;
  521. write(data: any, key?: any): void;
  522. }
  523. export interface ReadLineOptions {
  524. input: NodeJS.ReadableStream;
  525. output: NodeJS.WritableStream;
  526. completer?: Function;
  527. terminal?: boolean;
  528. }
  529. export function createInterface(options: ReadLineOptions): ReadLine;
  530. }
  531. declare module "vm" {
  532. export interface Context { }
  533. export interface Script {
  534. runInThisContext(): void;
  535. runInNewContext(sandbox?: Context): void;
  536. }
  537. export function runInThisContext(code: string, filename?: string): void;
  538. export function runInNewContext(code: string, sandbox?: Context, filename?: string): void;
  539. export function runInContext(code: string, context: Context, filename?: string): void;
  540. export function createContext(initSandbox?: Context): Context;
  541. export function createScript(code: string, filename?: string): Script;
  542. }
  543. declare module "child_process" {
  544. import events = require("events");
  545. import stream = require("stream");
  546. export interface ChildProcess extends events.EventEmitter {
  547. stdin: stream.Writable;
  548. stdout: stream.Readable;
  549. stderr: stream.Readable;
  550. pid: number;
  551. kill(signal?: string): void;
  552. send(message: any, sendHandle: any): void;
  553. disconnect(): void;
  554. }
  555. export function spawn(command: string, args?: string[], options?: {
  556. cwd?: string;
  557. stdio?: any;
  558. custom?: any;
  559. env?: any;
  560. detached?: boolean;
  561. }): ChildProcess;
  562. export function exec(command: string, options: {
  563. cwd?: string;
  564. stdio?: any;
  565. customFds?: any;
  566. env?: any;
  567. encoding?: string;
  568. timeout?: number;
  569. maxBuffer?: number;
  570. killSignal?: string;
  571. }, callback: (error: Error, stdout: Buffer, stderr: Buffer) =>void ): ChildProcess;
  572. export function exec(command: string, callback: (error: Error, stdout: Buffer, stderr: Buffer) =>void ): ChildProcess;
  573. export function execFile(file: string, args: string[], options: {
  574. cwd?: string;
  575. stdio?: any;
  576. customFds?: any;
  577. env?: any;
  578. encoding?: string;
  579. timeout?: number;
  580. maxBuffer?: string;
  581. killSignal?: string;
  582. }, callback: (error: Error, stdout: Buffer, stderr: Buffer) =>void ): ChildProcess;
  583. export function fork(modulePath: string, args?: string[], options?: {
  584. cwd?: string;
  585. env?: any;
  586. encoding?: string;
  587. }): ChildProcess;
  588. }
  589. declare module "url" {
  590. export interface Url {
  591. href: string;
  592. protocol: string;
  593. auth: string;
  594. hostname: string;
  595. port: string;
  596. host: string;
  597. pathname: string;
  598. search: string;
  599. query: string;
  600. slashes: boolean;
  601. hash?: string;
  602. path?: string;
  603. }
  604. export interface UrlOptions {
  605. protocol?: string;
  606. auth?: string;
  607. hostname?: string;
  608. port?: string;
  609. host?: string;
  610. pathname?: string;
  611. search?: string;
  612. query?: any;
  613. hash?: string;
  614. path?: string;
  615. }
  616. export function parse(urlStr: string, parseQueryString?: boolean , slashesDenoteHost?: boolean ): Url;
  617. export function format(url: UrlOptions): string;
  618. export function resolve(from: string, to: string): string;
  619. }
  620. declare module "dns" {
  621. export function lookup(domain: string, family: number, callback: (err: Error, address: string, family: number) =>void ): string;
  622. export function lookup(domain: string, callback: (err: Error, address: string, family: number) =>void ): string;
  623. export function resolve(domain: string, rrtype: string, callback: (err: Error, addresses: string[]) =>void ): string[];
  624. export function resolve(domain: string, callback: (err: Error, addresses: string[]) =>void ): string[];
  625. export function resolve4(domain: string, callback: (err: Error, addresses: string[]) =>void ): string[];
  626. export function resolve6(domain: string, callback: (err: Error, addresses: string[]) =>void ): string[];
  627. export function resolveMx(domain: string, callback: (err: Error, addresses: string[]) =>void ): string[];
  628. export function resolveTxt(domain: string, callback: (err: Error, addresses: string[]) =>void ): string[];
  629. export function resolveSrv(domain: string, callback: (err: Error, addresses: string[]) =>void ): string[];
  630. export function resolveNs(domain: string, callback: (err: Error, addresses: string[]) =>void ): string[];
  631. export function resolveCname(domain: string, callback: (err: Error, addresses: string[]) =>void ): string[];
  632. export function reverse(ip: string, callback: (err: Error, domains: string[]) =>void ): string[];
  633. }
  634. declare module "net" {
  635. import stream = require("stream");
  636. export interface Socket extends stream.Duplex {
  637. // Extended base methods
  638. write(buffer: Buffer): boolean;
  639. write(buffer: Buffer, cb?: Function): boolean;
  640. write(str: string, cb?: Function): boolean;
  641. write(str: string, encoding?: string, cb?: Function): boolean;
  642. write(str: string, encoding?: string, fd?: string): boolean;
  643. connect(port: number, host?: string, connectionListener?: Function): void;
  644. connect(path: string, connectionListener?: Function): void;
  645. bufferSize: number;
  646. setEncoding(encoding?: string): void;
  647. write(data: any, encoding?: string, callback?: Function): void;
  648. destroy(): void;
  649. pause(): void;
  650. resume(): void;
  651. setTimeout(timeout: number, callback?: Function): void;
  652. setNoDelay(noDelay?: boolean): void;
  653. setKeepAlive(enable?: boolean, initialDelay?: number): void;
  654. address(): { port: number; family: string; address: string; };
  655. remoteAddress: string;
  656. remotePort: number;
  657. bytesRead: number;
  658. bytesWritten: number;
  659. // Extended base methods
  660. end(): void;
  661. end(buffer: Buffer, cb?: Function): void;
  662. end(str: string, cb?: Function): void;
  663. end(str: string, encoding?: string, cb?: Function): void;
  664. end(data?: any, encoding?: string): void;
  665. }
  666. export var Socket: {
  667. new (options?: { fd?: string; type?: string; allowHalfOpen?: boolean; }): Socket;
  668. };
  669. export interface Server extends Socket {
  670. listen(port: number, host?: string, backlog?: number, listeningListener?: Function): Server;
  671. listen(path: string, listeningListener?: Function): Server;
  672. listen(handle: any, listeningListener?: Function): Server;
  673. close(callback?: Function): Server;
  674. address(): { port: number; family: string; address: string; };
  675. maxConnections: number;
  676. connections: number;
  677. }
  678. export function createServer(connectionListener?: (socket: Socket) =>void ): Server;
  679. export function createServer(options?: { allowHalfOpen?: boolean; }, connectionListener?: (socket: Socket) =>void ): Server;
  680. export function connect(options: { allowHalfOpen?: boolean; }, connectionListener?: Function): Socket;
  681. export function connect(port: number, host?: string, connectionListener?: Function): Socket;
  682. export function connect(path: string, connectionListener?: Function): Socket;
  683. export function createConnection(options: { allowHalfOpen?: boolean; }, connectionListener?: Function): Socket;
  684. export function createConnection(port: number, host?: string, connectionListener?: Function): Socket;
  685. export function createConnection(path: string, connectionListener?: Function): Socket;
  686. export function isIP(input: string): number;
  687. export function isIPv4(input: string): boolean;
  688. export function isIPv6(input: string): boolean;
  689. }
  690. declare module "dgram" {
  691. import events = require("events");
  692. export function createSocket(type: string, callback?: Function): Socket;
  693. interface Socket extends events.EventEmitter {
  694. send(buf: Buffer, offset: number, length: number, port: number, address: string, callback?: Function): void;
  695. bind(port: number, address?: string): void;
  696. close(): void;
  697. address: { address: string; family: string; port: number; };
  698. setBroadcast(flag: boolean): void;
  699. setMulticastTTL(ttl: number): void;
  700. setMulticastLoopback(flag: boolean): void;
  701. addMembership(multicastAddress: string, multicastInterface?: string): void;
  702. dropMembership(multicastAddress: string, multicastInterface?: string): void;
  703. }
  704. }
  705. declare module "fs" {
  706. import stream = require("stream");
  707. import events = require("events");
  708. interface Stats {
  709. isFile(): boolean;
  710. isDirectory(): boolean;
  711. isBlockDevice(): boolean;
  712. isCharacterDevice(): boolean;
  713. isSymbolicLink(): boolean;
  714. isFIFO(): boolean;
  715. isSocket(): boolean;
  716. dev: number;
  717. ino: number;
  718. mode: number;
  719. nlink: number;
  720. uid: number;
  721. gid: number;
  722. rdev: number;
  723. size: number;
  724. blksize: number;
  725. blocks: number;
  726. atime: Date;
  727. mtime: Date;
  728. ctime: Date;
  729. }
  730. interface FSWatcher extends events.EventEmitter {
  731. close(): void;
  732. }
  733. export interface ReadStream extends stream.Readable {}
  734. export interface WriteStream extends stream.Writable {}
  735. export function rename(oldPath: string, newPath: string, callback?: (err?: NodeJS.ErrnoException) => void): void;
  736. export function renameSync(oldPath: string, newPath: string): void;
  737. export function truncate(path: string, callback?: (err?: NodeJS.ErrnoException) => void): void;
  738. export function truncate(path: string, len: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
  739. export function truncateSync(path: string, len?: number): void;
  740. export function ftruncate(fd: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
  741. export function ftruncate(fd: number, len: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
  742. export function ftruncateSync(fd: number, len?: number): void;
  743. export function chown(path: string, uid: number, gid: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
  744. export function chownSync(path: string, uid: number, gid: number): void;
  745. export function fchown(fd: number, uid: number, gid: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
  746. export function fchownSync(fd: number, uid: number, gid: number): void;
  747. export function lchown(path: string, uid: number, gid: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
  748. export function lchownSync(path: string, uid: number, gid: number): void;
  749. export function chmod(path: string, mode: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
  750. export function chmod(path: string, mode: string, callback?: (err?: NodeJS.ErrnoException) => void): void;
  751. export function chmodSync(path: string, mode: number): void;
  752. export function chmodSync(path: string, mode: string): void;
  753. export function fchmod(fd: number, mode: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
  754. export function fchmod(fd: number, mode: string, callback?: (err?: NodeJS.ErrnoException) => void): void;
  755. export function fchmodSync(fd: number, mode: number): void;
  756. export function fchmodSync(fd: number, mode: string): void;
  757. export function lchmod(path: string, mode: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
  758. export function lchmod(path: string, mode: string, callback?: (err?: NodeJS.ErrnoException) => void): void;
  759. export function lchmodSync(path: string, mode: number): void;
  760. export function lchmodSync(path: string, mode: string): void;
  761. export function stat(path: string, callback?: (err: NodeJS.ErrnoException, stats: Stats) => any): void;
  762. export function lstat(path: string, callback?: (err: NodeJS.ErrnoException, stats: Stats) => any): void;
  763. export function fstat(fd: number, callback?: (err: NodeJS.ErrnoException, stats: Stats) => any): void;
  764. export function statSync(path: string): Stats;
  765. export function lstatSync(path: string): Stats;
  766. export function fstatSync(fd: number): Stats;
  767. export function link(srcpath: string, dstpath: string, callback?: (err?: NodeJS.ErrnoException) => void): void;
  768. export function linkSync(srcpath: string, dstpath: string): void;
  769. export function symlink(srcpath: string, dstpath: string, type?: string, callback?: (err?: NodeJS.ErrnoException) => void): void;
  770. export function symlinkSync(srcpath: string, dstpath: string, type?: string): void;
  771. export function readlink(path: string, callback?: (err: NodeJS.ErrnoException, linkString: string) => any): void;
  772. export function readlinkSync(path: string): string;
  773. export function realpath(path: string, callback?: (err: NodeJS.ErrnoException, resolvedPath: string) => any): void;
  774. export function realpath(path: string, cache: {[path: string]: string}, callback: (err: NodeJS.ErrnoException, resolvedPath: string) =>any): void;
  775. export function realpathSync(path: string, cache?: {[path: string]: string}): string;
  776. export function unlink(path: string, callback?: (err?: NodeJS.ErrnoException) => void): void;
  777. export function unlinkSync(path: string): void;
  778. export function rmdir(path: string, callback?: (err?: NodeJS.ErrnoException) => void): void;
  779. export function rmdirSync(path: string): void;
  780. export function mkdir(path: string, callback?: (err?: NodeJS.ErrnoException) => void): void;
  781. export function mkdir(path: string, mode: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
  782. export function mkdir(path: string, mode: string, callback?: (err?: NodeJS.ErrnoException) => void): void;
  783. export function mkdirSync(path: string, mode?: number): void;
  784. export function mkdirSync(path: string, mode?: string): void;
  785. export function readdir(path: string, callback?: (err: NodeJS.ErrnoException, files: string[]) => void): void;
  786. export function readdirSync(path: string): string[];
  787. export function close(fd: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
  788. export function closeSync(fd: number): void;
  789. export function open(path: string, flags: string, callback?: (err: NodeJS.ErrnoException, fd: number) => any): void;
  790. export function open(path: string, flags: string, mode: number, callback?: (err: NodeJS.ErrnoException, fd: number) => any): void;
  791. export function open(path: string, flags: string, mode: string, callback?: (err: NodeJS.ErrnoException, fd: number) => any): void;
  792. export function openSync(path: string, flags: string, mode?: number): number;
  793. export function openSync(path: string, flags: string, mode?: string): number;
  794. export function utimes(path: string, atime: number, mtime: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
  795. export function utimesSync(path: string, atime: number, mtime: number): void;
  796. export function futimes(fd: number, atime: number, mtime: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
  797. export function futimesSync(fd: number, atime: number, mtime: number): void;
  798. export function fsync(fd: number, callback?: (err?: NodeJS.ErrnoException) => void): void;
  799. export function fsyncSync(fd: number): void;
  800. export function write(fd: number, buffer: Buffer, offset: number, length: number, position: number, callback?: (err: NodeJS.ErrnoException, written: number, buffer: Buffer) => void): void;
  801. export function writeSync(fd: number, buffer: Buffer, offset: number, length: number, position: number): number;
  802. export function read(fd: number, buffer: Buffer, offset: number, length: number, position: number, callback?: (err: NodeJS.ErrnoException, bytesRead: number, buffer: Buffer) => void): void;
  803. export function readSync(fd: number, buffer: Buffer, offset: number, length: number, position: number): number;
  804. export function readFile(filename: string, encoding: string, callback: (err: NodeJS.ErrnoException, data: string) => void): void;
  805. export function readFile(filename: string, options: { encoding: string; flag?: string; }, callback: (err: NodeJS.ErrnoException, data: string) => void): void;
  806. export function readFile(filename: string, options: { flag?: string; }, callback: (err: NodeJS.ErrnoException, data: Buffer) => void): void;
  807. export function readFile(filename: string, callback: (err: NodeJS.ErrnoException, data: Buffer) => void ): void;
  808. export function readFileSync(filename: string, encoding: string): string;
  809. export function readFileSync(filename: string, options: { encoding: string; flag?: string; }): string;
  810. export function readFileSync(filename: string, options?: { flag?: string; }): Buffer;
  811. export function writeFile(filename: string, data: any, callback?: (err: NodeJS.ErrnoException) => void): void;
  812. export function writeFile(filename: string, data: any, options: { encoding?: string; mode?: number; flag?: string; }, callback?: (err: NodeJS.ErrnoException) => void): void;
  813. export function writeFile(filename: string, data: any, options: { encoding?: string; mode?: string; flag?: string; }, callback?: (err: NodeJS.ErrnoException) => void): void;
  814. export function writeFileSync(filename: string, data: any, options?: { encoding?: string; mode?: number; flag?: string; }): void;
  815. export function writeFileSync(filename: string, data: any, options?: { encoding?: string; mode?: string; flag?: string; }): void;
  816. export function appendFile(filename: string, data: any, options: { encoding?: string; mode?: number; flag?: string; }, callback?: (err: NodeJS.ErrnoException) => void): void;
  817. export function appendFile(filename: string, data: any, options: { encoding?: string; mode?: string; flag?: string; }, callback?: (err: NodeJS.ErrnoException) => void): void;
  818. export function appendFile(filename: string, data: any, callback?: (err: NodeJS.ErrnoException) => void): void;
  819. export function appendFileSync(filename: string, data: any, options?: { encoding?: string; mode?: number; flag?: string; }): void;
  820. export function appendFileSync(filename: string, data: any, options?: { encoding?: string; mode?: string; flag?: string; }): void;
  821. export function watchFile(filename: string, listener: (curr: Stats, prev: Stats) => void): void;
  822. export function watchFile(filename: string, options: { persistent?: boolean; interval?: number; }, listener: (curr: Stats, prev: Stats) => void): void;
  823. export function unwatchFile(filename: string, listener?: (curr: Stats, prev: Stats) => void): void;
  824. export function watch(filename: string, listener?: (event: string, filename: string) => any): FSWatcher;
  825. export function watch(filename: string, options: { persistent?: boolean; }, listener?: (event: string, filename: string) => any): FSWatcher;
  826. export function exists(path: string, callback?: (exists: boolean) => void): void;
  827. export function existsSync(path: string): boolean;
  828. export function createReadStream(path: string, options?: {
  829. flags?: string;
  830. encoding?: string;
  831. fd?: string;
  832. mode?: number;
  833. bufferSize?: number;
  834. }): ReadStream;
  835. export function createReadStream(path: string, options?: {
  836. flags?: string;
  837. encoding?: string;
  838. fd?: string;
  839. mode?: string;
  840. bufferSize?: number;
  841. }): ReadStream;
  842. export function createWriteStream(path: string, options?: {
  843. flags?: string;
  844. encoding?: string;
  845. string?: string;
  846. }): WriteStream;
  847. }
  848. declare module "path" {
  849. export function normalize(p: string): string;
  850. export function join(...paths: any[]): string;
  851. export function resolve(...pathSegments: any[]): string;
  852. export function relative(from: string, to: string): string;
  853. export function dirname(p: string): string;
  854. export function basename(p: string, ext?: string): string;
  855. export function extname(p: string): string;
  856. export var sep: string;
  857. }
  858. declare module "string_decoder" {
  859. export interface NodeStringDecoder {
  860. write(buffer: Buffer): string;
  861. detectIncompleteChar(buffer: Buffer): number;
  862. }
  863. export var StringDecoder: {
  864. new (encoding: string): NodeStringDecoder;
  865. };
  866. }
  867. declare module "tls" {
  868. import crypto = require("crypto");
  869. import net = require("net");
  870. import stream = require("stream");
  871. var CLIENT_RENEG_LIMIT: number;
  872. var CLIENT_RENEG_WINDOW: number;
  873. export interface TlsOptions {
  874. pfx?: any; //string or buffer
  875. key?: any; //string or buffer
  876. passphrase?: string;
  877. cert?: any;
  878. ca?: any; //string or buffer
  879. crl?: any; //string or string array
  880. ciphers?: string;
  881. honorCipherOrder?: any;
  882. requestCert?: boolean;
  883. rejectUnauthorized?: boolean;
  884. NPNProtocols?: any; //array or Buffer;
  885. SNICallback?: (servername: string) => any;
  886. }
  887. export interface ConnectionOptions {
  888. host?: string;
  889. port?: number;
  890. socket?: net.Socket;
  891. pfx?: any; //string | Buffer
  892. key?: any; //string | Buffer
  893. passphrase?: string;
  894. cert?: any; //string | Buffer
  895. ca?: any; //Array of string | Buffer
  896. rejectUnauthorized?: boolean;
  897. NPNProtocols?: any; //Array of string | Buffer
  898. servername?: string;
  899. }
  900. export interface Server extends net.Server {
  901. // Extended base methods
  902. listen(port: number, host?: string, backlog?: number, listeningListener?: Function): Server;
  903. listen(path: string, listeningListener?: Function): Server;
  904. listen(handle: any, listeningListener?: Function): Server;
  905. listen(port: number, host?: string, callback?: Function): Server;
  906. close(): Server;
  907. address(): { port: number; family: string; address: string; };
  908. addContext(hostName: string, credentials: {
  909. key: string;
  910. cert: string;
  911. ca: string;
  912. }): void;
  913. maxConnections: number;
  914. connections: number;
  915. }
  916. export interface ClearTextStream extends stream.Duplex {
  917. authorized: boolean;
  918. authorizationError: Error;
  919. getPeerCertificate(): any;
  920. getCipher: {
  921. name: string;
  922. version: string;
  923. };
  924. address: {
  925. port: number;
  926. family: string;
  927. address: string;
  928. };
  929. remoteAddress: string;
  930. remotePort: number;
  931. }
  932. export interface SecurePair {
  933. encrypted: any;
  934. cleartext: any;
  935. }
  936. export function createServer(options: TlsOptions, secureConnectionListener?: (cleartextStream: ClearTextStream) =>void ): Server;
  937. export function connect(options: TlsOptions, secureConnectionListener?: () =>void ): ClearTextStream;
  938. export function connect(port: number, host?: string, options?: ConnectionOptions, secureConnectListener?: () =>void ): ClearTextStream;
  939. export function connect(port: number, options?: ConnectionOptions, secureConnectListener?: () =>void ): ClearTextStream;
  940. export function createSecurePair(credentials?: crypto.Credentials, isServer?: boolean, requestCert?: boolean, rejectUnauthorized?: boolean): SecurePair;
  941. }
  942. declare module "crypto" {
  943. export interface CredentialDetails {
  944. pfx: string;
  945. key: string;
  946. passphrase: string;
  947. cert: string;
  948. ca: any; //string | string array
  949. crl: any; //string | string array
  950. ciphers: string;
  951. }
  952. export interface Credentials { context?: any; }
  953. export function createCredentials(details: CredentialDetails): Credentials;
  954. export function createHash(algorithm: string): Hash;
  955. export function createHmac(algorithm: string, key: string): Hmac;
  956. interface Hash {
  957. update(data: any, input_encoding?: string): Hash;
  958. digest(encoding?: string): string;
  959. }
  960. interface Hmac {
  961. update(data: any, input_encoding?: string): Hmac;
  962. digest(encoding?: string): string;
  963. }
  964. export function createCipher(algorithm: string, password: any): Cipher;
  965. export function createCipheriv(algorithm: string, key: any, iv: any): Cipher;
  966. interface Cipher {
  967. update(data: any, input_encoding?: string, output_encoding?: string): string;
  968. final(output_encoding?: string): string;
  969. setAutoPadding(auto_padding: boolean): void;
  970. createDecipher(algorithm: string, password: any): Decipher;
  971. createDecipheriv(algorithm: string, key: any, iv: any): Decipher;
  972. }
  973. interface Decipher {
  974. update(data: any, input_encoding?: string, output_encoding?: string): void;
  975. final(output_encoding?: string): string;
  976. setAutoPadding(auto_padding: boolean): void;
  977. }
  978. export function createSign(algorithm: string): Signer;
  979. interface Signer {
  980. update(data: any): void;
  981. sign(private_key: string, output_format: string): string;
  982. }
  983. export function createVerify(algorith: string): Verify;
  984. interface Verify {
  985. update(data: any): void;
  986. verify(object: string, signature: string, signature_format?: string): boolean;
  987. }
  988. export function createDiffieHellman(prime_length: number): DiffieHellman;
  989. export function createDiffieHellman(prime: number, encoding?: string): DiffieHellman;
  990. interface DiffieHellman {
  991. generateKeys(encoding?: string): string;
  992. computeSecret(other_public_key: string, input_encoding?: string, output_encoding?: string): string;
  993. getPrime(encoding?: string): string;
  994. getGenerator(encoding: string): string;
  995. getPublicKey(encoding?: string): string;
  996. getPrivateKey(encoding?: string): string;
  997. setPublicKey(public_key: string, encoding?: string): void;
  998. setPrivateKey(public_key: string, encoding?: string): void;
  999. }
  1000. export function getDiffieHellman(group_name: string): DiffieHellman;
  1001. export function pbkdf2(password: string, salt: string, iterations: number, keylen: number, callback: (err: Error, derivedKey: string) => any): void;
  1002. export function pbkdf2Sync(password: string, salt: string, iterations: number, keylen: number) : Buffer;
  1003. export function randomBytes(size: number): Buffer;
  1004. export function randomBytes(size: number, callback: (err: Error, buf: Buffer) =>void ): void;
  1005. export function pseudoRandomBytes(size: number): Buffer;
  1006. export function pseudoRandomBytes(size: number, callback: (err: Error, buf: Buffer) =>void ): void;
  1007. }
  1008. declare module "stream" {
  1009. import events = require("events");
  1010. export interface ReadableOptions {
  1011. highWaterMark?: number;
  1012. encoding?: string;
  1013. objectMode?: boolean;
  1014. }
  1015. export class Readable extends events.EventEmitter implements NodeJS.ReadableStream {
  1016. readable: boolean;
  1017. constructor(opts?: ReadableOptions);
  1018. _read(size: number): void;
  1019. read(size?: number): any;
  1020. setEncoding(encoding: string): void;
  1021. pause(): void;
  1022. resume(): void;
  1023. pipe<T extends NodeJS.WritableStream>(destination: T, options?: { end?: boolean; }): T;
  1024. unpipe<T extends NodeJS.WritableStream>(destination?: T): void;
  1025. unshift(chunk: string): void;
  1026. unshift(chunk: Buffer): void;
  1027. wrap(oldStream: NodeJS.ReadableStream): NodeJS.ReadableStream;
  1028. push(chunk: any, encoding?: string): boolean;
  1029. }
  1030. export interface WritableOptions {
  1031. highWaterMark?: number;
  1032. decodeStrings?: boolean;
  1033. }
  1034. export class Writable extends events.EventEmitter implements NodeJS.WritableStream {
  1035. writable: boolean;
  1036. constructor(opts?: WritableOptions);
  1037. _write(data: Buffer, encoding: string, callback: Function): void;
  1038. _write(data: string, encoding: string, callback: Function): void;
  1039. write(buffer: Buffer, cb?: Function): boolean;
  1040. write(str: string, cb?: Function): boolean;
  1041. write(str: string, encoding?: string, cb?: Function): boolean;
  1042. end(): void;
  1043. end(buffer: Buffer, cb?: Function): void;
  1044. end(str: string, cb?: Function): void;
  1045. end(str: string, encoding?: string, cb?: Function): void;
  1046. }
  1047. export interface DuplexOptions extends ReadableOptions, WritableOptions {
  1048. allowHalfOpen?: boolean;
  1049. }
  1050. // Note: Duplex extends both Readable and Writable.
  1051. export class Duplex extends Readable implements NodeJS.ReadWriteStream {
  1052. writable: boolean;
  1053. constructor(opts?: DuplexOptions);
  1054. _write(data: Buffer, encoding: string, callback: Function): void;
  1055. _write(data: string, encoding: string, callback: Function): void;
  1056. write(buffer: Buffer, cb?: Function): boolean;
  1057. write(str: string, cb?: Function): boolean;
  1058. write(str: string, encoding?: string, cb?: Function): boolean;
  1059. end(): void;
  1060. end(buffer: Buffer, cb?: Function): void;
  1061. end(str: string, cb?: Function): void;
  1062. end(str: string, encoding?: string, cb?: Function): void;
  1063. }
  1064. export interface TransformOptions extends ReadableOptions, WritableOptions {}
  1065. // Note: Transform lacks the _read and _write methods of Readable/Writable.
  1066. export class Transform extends events.EventEmitter implements NodeJS.ReadWriteStream {
  1067. readable: boolean;
  1068. writable: boolean;
  1069. constructor(opts?: TransformOptions);
  1070. _transform(chunk: Buffer, encoding: string, callback: Function): void;
  1071. _transform(chunk: string, encoding: string, callback: Function): void;
  1072. _flush(callback: Function): void;
  1073. read(size?: number): any;
  1074. setEncoding(encoding: string): void;
  1075. pause(): void;
  1076. resume(): void;
  1077. pipe<T extends NodeJS.WritableStream>(destination: T, options?: { end?: boolean; }): T;
  1078. unpipe<T extends NodeJS.WritableStream>(destination?: T): void;
  1079. unshift(chunk: string): void;
  1080. unshift(chunk: Buffer): void;
  1081. wrap(oldStream: NodeJS.ReadableStream): NodeJS.ReadableStream;
  1082. push(chunk: any, encoding?: string): boolean;
  1083. write(buffer: Buffer, cb?: Function): boolean;
  1084. write(str: string, cb?: Function): boolean;
  1085. write(str: string, encoding?: string, cb?: Function): boolean;
  1086. end(): void;
  1087. end(buffer: Buffer, cb?: Function): void;
  1088. end(str: string, cb?: Function): void;
  1089. end(str: string, encoding?: string, cb?: Function): void;
  1090. }
  1091. export class PassThrough extends Transform {}
  1092. }
  1093. declare module "util" {
  1094. export interface InspectOptions {
  1095. showHidden?: boolean;
  1096. depth?: number;
  1097. colors?: boolean;
  1098. customInspect?: boolean;
  1099. }
  1100. export function format(format: any, ...param: any[]): string;
  1101. export function debug(string: string): void;
  1102. export function error(...param: any[]): void;
  1103. export function puts(...param: any[]): void;
  1104. export function print(...param: any[]): void;
  1105. export function log(string: string): void;
  1106. export function inspect(object: any, showHidden?: boolean, depth?: number, color?: boolean): string;
  1107. export function inspect(object: any, options: InspectOptions): string;
  1108. export function isArray(object: any): boolean;
  1109. export function isRegExp(object: any): boolean;
  1110. export function isDate(object: any): boolean;
  1111. export function isError(object: any): boolean;
  1112. export function inherits(constructor: any, superConstructor: any): void;
  1113. }
  1114. declare module "assert" {
  1115. function internal (value: any, message?: string): void;
  1116. module internal {
  1117. export class AssertionError implements Error {
  1118. name: string;
  1119. message: string;
  1120. actual: any;
  1121. expected: any;
  1122. operator: string;
  1123. generatedMessage: boolean;
  1124. constructor(options?: {message?: string; actual?: any; expected?: any;
  1125. operator?: string; stackStartFunction?: Function});
  1126. }
  1127. export function fail(actual?: any, expected?: any, message?: string, operator?: string): void;
  1128. export function ok(value: any, message?: string): void;
  1129. export function equal(actual: any, expected: any, message?: string): void;
  1130. export function notEqual(actual: any, expected: any, message?: string): void;
  1131. export function deepEqual(actual: any, expected: any, message?: string): void;
  1132. export function notDeepEqual(acutal: any, expected: any, message?: string): void;
  1133. export function strictEqual(actual: any, expected: any, message?: string): void;
  1134. export function notStrictEqual(actual: any, expected: any, message?: string): void;
  1135. export var throws: {
  1136. (block: Function, message?: string): void;
  1137. (block: Function, error: Function, message?: string): void;
  1138. (block: Function, error: RegExp, message?: string): void;
  1139. (block: Function, error: (err: any) => boolean, message?: string): void;
  1140. }
  1141. export var doesNotThrow: {
  1142. (block: Function, message?: string): void;
  1143. (block: Function, error: Function, message?: string): void;
  1144. (block: Function, error: RegExp, message?: string): void;
  1145. (block: Function, error: (err: any) => boolean, message?: string): void;
  1146. }
  1147. export function ifError(value: any): void;
  1148. }
  1149. export = internal;
  1150. }
  1151. declare module "tty" {
  1152. import net = require("net");
  1153. export function isatty(fd: number): boolean;
  1154. export interface ReadStream extends net.Socket {
  1155. isRaw: boolean;
  1156. setRawMode(mode: boolean): void;
  1157. }
  1158. export interface WriteStream extends net.Socket {
  1159. columns: number;
  1160. rows: number;
  1161. }
  1162. }
  1163. declare module "domain" {
  1164. import events = require("events");
  1165. export class Domain extends events.EventEmitter {
  1166. run(fn: Function): void;
  1167. add(emitter: events.EventEmitter): void;
  1168. remove(emitter: events.EventEmitter): void;
  1169. bind(cb: (err: Error, data: any) => any): any;
  1170. intercept(cb: (data: any) => any): any;
  1171. dispose(): void;
  1172. addListener(event: string, listener: Function): Domain;
  1173. on(event: string, listener: Function): Domain;
  1174. once(event: string, listener: Function): Domain;
  1175. removeListener(event: string, listener: Function): Domain;
  1176. removeAllListeners(event?: string): Domain;
  1177. }
  1178. export function create(): Domain;
  1179. }