///
module Rx {
export interface ObservableStatic {
/**
* Constructs an observable sequence that depends on a resource object, whose lifetime is tied to the resulting observable sequence's lifetime.
* @param {Function} resourceFactory Factory function to obtain a resource object.
* @param {Function} observableFactory Factory function to obtain an observable sequence that depends on the obtained resource.
* @returns {Observable} An observable sequence whose lifetime controls the lifetime of the dependent resource object.
*/
using(resourceFactory: () => TResource, observableFactory: (resource: TResource) => Observable): Observable;
}
}
(function () {
var s : Rx.Observable;
var r : Rx.Disposable;
s = Rx.Observable.using(() => r, () => s);
});