import { Store } from '@ngrx/store';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/take';
import { Institution } from '@documment/mmp.core';
import { DataPublisher } from '../../pubsub/publishers/data.publisher';
import { ApplicationDataState } from '../../app-data.state';
export declare class InstitutionWarehouse {
    private publisher;
    private store;
    constructor(publisher: DataPublisher, store: Store<ApplicationDataState>);
    refresh(institutions: Institution[]): void;
    remove(institution: Institution): void;
    upsert(institution: Institution): void;
    state(): Institution[];
    stateById(institutionId: number): Institution;
    watchAll(): Observable<Institution[]>;
    watchById(institutionId: number): Observable<Institution>;
    private subscribe();
}
