import { ChangeDetectorRef, OnChanges, OnDestroy, OnInit } from '@angular/core';
import { Subject } from 'rxjs';
import { ContextProviderComponent } from './provider.component';
import { ContextMap } from './symbols';
export declare class AbstractContextConsumer<T> implements OnChanges, OnDestroy, OnInit {
    protected provider: ContextProviderComponent;
    protected target: ChangeDetectorRef;
    protected destroy$: Subject<void>;
    protected initialized: boolean;
    protected _contextMap: {};
    protected _consume: string | string[];
    consumed: Map<any, any>;
    set contextMap(map: ContextMap);
    get contextMap(): ContextMap;
    set consume(consume: string | string[]);
    get consume(): string | string[];
    get component(): T;
    constructor(provider: ContextProviderComponent, target: ChangeDetectorRef);
    protected init(): void;
    protected reset(): void;
    protected syncProperties(consumed: string[], providerKey: string): void;
    ngOnChanges(): void;
    ngOnDestroy(): void;
    ngOnInit(): void;
}
