import { Iterable } from 'ix'; import { Observable } from 'rxjs/Observable'; import { PartialObserver } from 'rxjs/Observer'; import { IScheduler } from 'rxjs/Scheduler'; import { Subscription, TeardownLogic } from 'rxjs/Subscription'; import { Command, Property } from './Interfaces'; export declare function filterNullIterable(this: Iterable, callbackfn?: (value: TFiltered, index: number) => boolean): Iterable; export declare function addSubscription(this: Subscription, subscription: T): T; export declare function addSubscriptions(this: Subscription, ...subscriptions: T[]): T[]; export declare function unsubscribeStatic(subscription: T, unsubscribedValue?: T): T; export declare function filterNullObservable(this: Observable, callbackfn?: (value: T, index: number) => boolean): Observable; export declare function toProperty(this: Observable, initialValue?: T, compare?: boolean | ((x: T, y: T) => boolean), keySelector?: (x: T) => any): Property; export declare function observeCommand(this: Observable, command: ((x: T) => Command) | Command): Observable; export declare function invokeCommand(this: Observable, command: ((parameter: T) => Command) | Command, observer: PartialObserver): Subscription; export declare function invokeCommand(this: Observable, command: ((parameter: T) => Command) | Command, next?: (value: T) => void, error?: (error: any) => void, complete?: () => void): Subscription; declare module 'ix/iterable/iterablex' { interface IterableX { filterNull: typeof filterNullIterable; } } declare module 'rxjs/Subscription' { interface Subscription { addSubscription: typeof addSubscription; addSubscriptions: typeof addSubscriptions; } namespace Subscription { let unsubscribe: typeof unsubscribeStatic; } } declare module 'rxjs/Observable' { interface Observable { filterNull: typeof filterNullObservable; toProperty: typeof toProperty; observeCommand: typeof observeCommand; invokeCommand: typeof invokeCommand; } } declare module 'rxjs/operator/startWith' { function startWith(this: Observable, value: TOther, scheduler?: IScheduler): Observable; function startWith(this: Observable, ...array: Array): Observable; }