/** * Micro-observable implementation following TC-39 Observable protocol. * ~25 lines of code for minimal footprint while maintaining spec compliance. */ declare global { interface SymbolConstructor { readonly observable: symbol; } } interface Observer { next?: (value: T) => void; error?: (error: any) => void; complete?: () => void; } interface Subscription { unsubscribe(): void; } interface Observable { subscribe(observer: Partial>): Subscription; [Symbol.observable](): Observable; } export declare class LixObservable implements Observable { private subscriber; constructor(subscriber: (observer: Observer) => (() => void) | void); subscribe(observer: Partial>): Subscription; [Symbol.observable](): LixObservable; subscribeTakeFirst(observer: Partial>): Subscription; subscribeTakeFirstOrThrow(observer: Partial>): Subscription; } export {}; //# sourceMappingURL=lix-observable.d.ts.map