"use strict" export module types { /** * Default callback signature. */ export interface Callback { (error: Error | null | undefined, data?: T): void; } /** * Callback that would only accept errors. * @type {[type]} */ export type VoidCallback = Callback; /** * A function that can be called to produce a certain type later. */ export interface AsyncProducer { (callback: Callback): void; } }