| import { SubscriptionLike, TeardownLogic } from './types'; |
| /** |
| * Represents a disposable resource, such as the execution of an Observable. A |
| * Subscription has one important method, `unsubscribe`, that takes no argument |
| * and just disposes the resource held by the subscription. |
| * |
| * Additionally, subscriptions may be grouped together through the `add()` |
| * method, which will attach a child Subscription to the current Subscription. |
| * When a Subscription is unsubscribed, all its children (and its grandchildren) |
| * will be unsubscribed as well. |
| * |
| * @class Subscription |
| */ |
| export declare class Subscription implements SubscriptionLike { |
| /** @nocollapse */ |
| static EMPTY: Subscription; |
| /** |
| * A flag to indicate whether this Subscription has already been unsubscribed. |
| * @type {boolean} |
| */ |
| closed: boolean; |
| /** @internal */ |
| protected _parentOrParents: Subscription | Subscription[]; |
| /** @internal */ |
| private _subscriptions; |
| /** |
| * @param {function(): void} [unsubscribe] A function describing how to |
| * perform the disposal of resources when the `unsubscribe` method is called. |
| */ |
| constructor(unsubscribe?: () => void); |
| /** |
| * Disposes the resources held by the subscription. May, for instance, cancel |
| * an ongoing Observable execution or cancel any other type of work that |
| * started when the Subscription was created. |
| * @return {void} |
| */ |
| unsubscribe(): void; |
| /** |
| * Adds a tear down to be called during the unsubscribe() of this |
| * Subscription. Can also be used to add a child subscription. |
| * |
| * If the tear down being added is a subscription that is already |
| * unsubscribed, is the same reference `add` is being called on, or is |
| * `Subscription.EMPTY`, it will not be added. |
| * |
| * If this subscription is already in an `closed` state, the passed |
| * tear down logic will be executed immediately. |
| * |
| * When a parent subscription is unsubscribed, any child subscriptions that were added to it are also unsubscribed. |
| * |
| * @param {TeardownLogic} teardown The additional logic to execute on |
| * teardown. |
| * @return {Subscription} Returns the Subscription used or created to be |
| * added to the inner subscriptions list. This Subscription can be used with |
| * `remove()` to remove the passed teardown logic from the inner subscriptions |
| * list. |
| */ |
| add(teardown: TeardownLogic): Subscription; |
| /** |
| * Removes a Subscription from the internal list of subscriptions that will |
| * unsubscribe during the unsubscribe process of this Subscription. |
| * @param {Subscription} subscription The subscription to remove. |
| * @return {void} |
| */ |
| remove(subscription: Subscription): void; |
| } |