// Type definitions for slocket 1.0 // Project: https://github.com/isaacs/slocket#readme // Definitions by: BendingBender // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.3 /// import { EventEmitter } from 'events'; export = slocket; declare const slocket: Slocket; interface Slocket { (lockFile: string, cb?: (error: Error | null, lock: slocket.Lock) => void): slocket.Slocket; new (lockFile: string, cb?: (error: Error | null, lock: slocket.Lock) => void): slocket.Slocket; } declare namespace slocket { interface Slocket extends EventEmitter { then( onfulfilled?: ((value: Lock) => TResult1 | PromiseLike) | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | null): Promise; catch(onrejected?: ((reason: any) => TResult | PromiseLike) | null): Promise; } interface Lock { release(sync?: boolean): void; } }