// Type definitions for steed 1.1 // Project: https://github.com/mcollina/steed#readme // Definitions by: Paul Isache // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped declare namespace steed { interface Dictionary { [key: string]: T; } type ErrorCallback = (err?: T) => void; type SteedResultCallback = (err: E, result: T) => void; type SteedResultArrayCallback = (err: E, results: T[]) => void; type SteedResultObjectCallback = (err: E, results: Dictionary) => void; type SteedWorker = (task: T, callback: ErrorCallback) => void; type SteedIterator = (item: T, callback: ErrorCallback) => void; type SteedResultIterator = (item: T, callback: SteedResultCallback) => void; type SteedFunction = (callback: (err?: E, result?: T) => void) => void; interface SteedQueue { push(task: T | T[], callback?: SteedResultCallback): void; unshift(task: T | T[], callback?: ErrorCallback): void; pause(): void; resume(): void; idle(): boolean; length(): number; kill(): void; concurrency: number; drain(): any; empty(): any; saturated(): any; } interface Steed { parallel(tasks: Array>, callback?: SteedResultArrayCallback): void; parallel(tasks: Dictionary>, callback?: SteedResultObjectCallback): void; series(tasks: Array>, callback?: SteedResultArrayCallback): void; series(tasks: Dictionary>, callback?: SteedResultObjectCallback): void; waterfall(tasks: Function[], callback?: SteedResultCallback): void; each(arr: T[] | Dictionary, iterator: SteedIterator, callback?: ErrorCallback): void; eachSeries: typeof steed.each; map(arr: T[] | Dictionary, iterator: SteedResultIterator, callback?: SteedResultArrayCallback): void; mapSeries: typeof steed.map; queue(worker: SteedWorker, concurrency?: number): SteedQueue; queue(worker: SteedResultIterator, concurrency?: number): SteedQueue; } } declare const steed: steed.Steed; export = steed;