///
///
module Rx {
export interface Observable {
/**
* Comonadic bind operator.
* @param {Function} selector A transform function to apply to each element.
* @param {Object} scheduler Scheduler used to execute the operation. If not specified, defaults to the ImmediateScheduler.
* @returns {Observable} An observable sequence which results from the comonadic bind operation.
*/
manySelect(selector: _Selector, TResult>, scheduler?: IScheduler): Observable;
/**
* Comonadic bind operator.
* @param {Function} selector A transform function to apply to each element.
* @param {Object} scheduler Scheduler used to execute the operation. If not specified, defaults to the ImmediateScheduler.
* @returns {Observable} An observable sequence which results from the comonadic bind operation.
*/
extend(selector: _Selector, TResult>, scheduler?: IScheduler): Observable;
}
}
(function() {
var o: Rx.Observable;
var oo: Rx.Observable> = o.extend(x => x.first());
var oo: Rx.Observable> = o.manySelect(x => x.first());
});