import { Observable } from 'rxjs'; import { ObserveArrayDirective } from '../abstraction/observe-array-base.directive'; import { ResolvedObserveContext } from '../abstraction/types/general'; import { ObservableArray, EmittedArrayTypesOf } from '../abstraction/types/arrays'; import * as i0 from "@angular/core"; declare type ObserveMergeContext = ResolvedObserveContext> & { observeMerge: EmittedArrayTypesOf; }; /** * Documentation in {@link ObserveMergeDirective.observeMerge} to allow in-template tooltips. * * @export * @class ObserveMergeDirective * @extends {ObserveArrayDirective, ObserveMergeContext>} * @template T The type of observables tuple received by the directive. */ export declare class ObserveMergeDirective[]> extends ObserveArrayDirective, ObserveMergeContext> { protected selector: string; /** * Combines an array of observables using rxjs {@link https://rxjs.dev/api/index/function/merge merge()} and exposes the emitted values to the template. * * Any template assigned with the directive will render immediately, and its view context will be updated with the emitted value on * each emission. The directive will be responsible for subscribing on init and unsubscribing on destroy. * * ## Features * * #### Shared observable * The watched observable will automatically be multicasted so that any child observables created by the template will use the same * stream. * * The shared observable can be accessed using the `let source = source` microsyntax. * * #### Observer events * Whenever the observable changes state or emits a value, the corresponding event is emitted: * `nextCalled` - A value has been emitted. `$event` will be the emitted value. * `errorCalled` - An error has occured in the pipeline. `$event` will be the error. * `completeCalled` - The observable has completed. `$event` will be void. * * > Because of limitations to Angular's Structural Directives, in order to bind the events the desugared syntax must be used. * This, for example, **will trigger** the event: * > ```html * > * > ... * > * > ``` * > * >This **will NOT trigger** the event: * >```html * >
...
* >``` */ set observeMerge(value: T); static ngTemplateContextGuard[]>(directive: ObserveMergeDirective, context: unknown): context is ObserveMergeContext; protected observeInput(input: T): Observable>; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵdir: i0.ɵɵDirectiveDeclaration, "[observeMerge]", never, { "observeMerge": "observeMerge"; }, {}, never, never, false>; } export {};