// Before fix this would cause compiler to hang (#1170) declare module Bacon { interface Event { } interface Error extends Event { } interface Observable { zip(other: EventStream, f: (a: T, b: U) => V): EventStream; slidingWindow(max: number, min?: number): Property; log(): Observable; combine(other: Observable, f: (a: T, b: U) => V): Property; withStateMachine(initState: U, f: (state: U, event: Event) => StateValue): EventStream; decode(mapping: Object): Property; awaiting(other: Observable): Property; endOnError(f?: (value: T) => boolean): Observable; withHandler(f: (event: Event) => any): Observable; name(name: string): Observable; withDescription(...args: any[]): Observable; } interface Property extends Observable { } interface EventStream extends Observable { } interface Bus extends EventStream { } var Bus: new () => Bus; } var stuck: Bacon.Bus = new Bacon.Bus();