// Type definitions for debug 4.1 // Project: https://github.com/visionmedia/debug // Definitions by: Seon-Wook Park // Gal Talmor // John McLaughlin // Brasten Sager // Nicolas Penin // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped declare var debug: debug.Debug & {debug: debug.Debug, default: debug.Debug}; export = debug; export as namespace debug; declare namespace debug { interface Debug { (namespace: string): Debugger; coerce: (val: any) => any; disable: () => string; enable: (namespaces: string) => void; enabled: (namespaces: string) => boolean; names: RegExp[]; skips: RegExp[]; formatters: Formatters; } type IDebug = Debug; interface Formatters { [formatter: string]: (v: any) => string; } type IDebugger = Debugger; interface Debugger { (formatter: any, ...args: any[]): void; enabled: boolean; log: (...args: any[]) => any; namespace: string; extend: (namespace: string, delimiter?: string) => Debugger; } }