/** * Base class for all events passed through [EventStreams](eventstream.html) and [Properties](property.html). */ export declare abstract class Event { id: number; /** @hidden */ isEvent: boolean; /** @hidden */ _isEvent: boolean; isEnd: boolean; isInitial: boolean; isNext: boolean; isError: boolean; hasValue: boolean; /** @hidden */ filter(f: (value: V) => boolean): boolean; /** @hidden */ inspect(): string; /** @hidden */ log(): any; /** @hidden */ toNext(): Event; /** @hidden */ abstract fmap(f: (value: V) => V2): Event; } /** * Base class for all [Events](event.html) carrying a value. * * Can be distinguished from other events using [hasValue](../globals.html#hasvalue) **/ export declare abstract class Value extends Event { value: V; hasValue: boolean; constructor(value: V); /** @hidden */ fmap(f: (value: V) => V2): Value; /** @hidden */ filter(f: (value: V) => boolean): boolean; /** @hidden */ toString(): string; /** @hidden */ log(): any; /** @hidden */ abstract apply(value: V2): Value; } /** * Indicates a new value in an [EventStream](eventstream.html) or a [Property](property.html). * * Can be distinguished from other events using [isNext](../globals.html#isnext) */ export declare class Next extends Value { constructor(value: V); /** @hidden */ apply(value: V2): Next; isNext: boolean; /** @hidden */ _isNext: boolean; } /** * An event carrying the initial value of a [Property](classes/property.html). This event can be emitted by a property * immediately when subscribing to it. * * Can be distinguished from other events using [isInitial](../globals.html#isinitial) */ export declare class Initial extends Value { constructor(value: V); /** @hidden */ apply(value: V2): Initial; isInitial: boolean; /** @hidden */ _isInitial: boolean; /** @hidden */ toNext(): Next; } /** * Base class for events not carrying a value. */ export declare abstract class NoValue extends Event { /** @hidden */ fmap(f: Function): NoValue; hasValue: boolean; } /** * An event that indicates the end of an [EventStream](classes/eventstream.html) or a [Property](classes/property.html). * No more events can be emitted after this one. * * Can be distinguished from other events using [isEnd](../globals.html#isend) */ export declare class End extends NoValue { isEnd: boolean; /** @hidden */ toString(): string; } /** * An event carrying an error. You can use [onError](observable.html#onerror) to subscribe to errors. */ export declare class Error extends NoValue { /** * The actual error object carried by this event */ error: any; constructor(error: any); isError: boolean; /** @hidden */ toString(): string; } /** @hidden */ export declare function initialEvent(value: V): Initial; /** @hidden */ export declare function nextEvent(value: V): Next; /** @hidden */ export declare function endEvent(): End; /** @hidden */ export declare function toEvent(x: V | Event): Event; export default Event; /** * Returns true if the given object is an [Event](classes/event.html). */ export declare function isEvent(e: any): e is Event; /** * Returns true if the given event is an [Initial](classes/initial.html) value of a [Property](classes/property.html). */ export declare function isInitial(e: Event): e is Initial; /** * Returns true if the given event is an [Error](classes/error.html) event of an [Observable](classes/observable.html). */ export declare function isError(e: Event): e is Error; /** * Returns true if the given event is a [Value](classes/value.html), i.e. a [Next](classes/next.html) or * an [Initial](classes/error.html) value of an [Observable](classes/observable.html). */ export declare function hasValue(e: Event): e is Value; /** * Returns true if the given event is an [End](classes/end.html) */ export declare function isEnd(e: Event): e is End; /** * Returns true if the given event is a [Next](classes/next.html) */ export declare function isNext(e: Event): e is Next;