import { Observable } from 'rxjs';
import { ObserveBaseDirective } from './observe-base.directive';
import { ObservableMap, EmittedMapOf, ObserveMapContext } from './types/maps';
import * as i0 from "@angular/core";
/**
* The base class for `*observe` directives combining observables using a map of observable values (i.e. { x: x$, y: y$ }).
*
* Emitted values will be available as the implicit context values but will also be spread into the context by key.
* Meaning, this would work:
* ```html
*
{{result.x}}
* ```
*
* And this also:
* ```
* {{x}}
* ```
*
* @export
* @abstract
* @class ObserveMapDirective
* @extends {ObserveBaseDirective, TContext>}
* @template TInput The type of observable map.
* @template TContext The the of context the directive will provide to the view.
*/
export declare abstract class ObserveMapDirective> extends ObserveBaseDirective, TContext> {
protected createViewContext(data: {
value?: EmittedMapOf | null;
source?: Observable>;
}): TContext;
static ɵfac: i0.ɵɵFactoryDeclaration, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration, never, never, {}, {}, never, never, false>;
}