import { Iterable } from 'ix'; import { AsyncIterableInput } from 'ix/asynciterable/asynciterablex'; import { Observable, Subscription } from 'rxjs'; import { PartialObserver } from 'rxjs/Observer'; export declare type IterableLike = Iterable | ArrayLike; export declare type AsyncIterableLike = AsyncIterableInput; export declare type ObservableOrValue = T | Observable; export declare type ObservableLike = ObservableOrValue | Property | Command; export interface ReadOnlyProperty { readonly changed: Observable; readonly thrownErrors: Observable; readonly isReadOnly: boolean; readonly value: T; isProperty(): boolean; } export interface Property extends ReadOnlyProperty { value: T; } export interface Command { readonly isExecutingObservable: Observable; readonly conditionObservable: Observable; readonly canExecuteObservable: Observable; readonly requests: Observable; readonly results: Observable; readonly thrownErrors: Observable; readonly isExecuting: boolean; readonly conditionValue: TCondition | undefined; readonly canExecute: boolean; isCommand(): boolean; canExecuteFor(parameter: any): boolean; observeExecution(parameter?: any): Observable; execute(parameter?: any, observer?: PartialObserver): Subscription; execute(parameter?: any, next?: (value: T) => void, error?: (error: any) => void, complete?: () => void): Subscription; }