import { Observable } from 'rxjs/Observable';
import { Institution } from '@documment/mmp.core';
import { Api } from '@documment/mmp.ui.data';
import { InstitutionWarehouse } from '@documment/mmp.ui.data';
import { Logger } from '@documment/mmp.ui.data';
import { ApiOptions } from '@documment/mmp.ui.data';
import { UserStrategizer } from '../../strategy/user/user.strategizer';
import { InstitutionSelector } from '../../strategy/selectors/institution.selector';
import { InstitutionListBuilder } from '../../filtering/builders/institution-list.builder';
export declare class InstitutionDataManager {
    private api;
    private institutionWarehouse;
    private userStrategizer;
    private institutionListBuilder;
    private institutionSelector;
    private logger;
    constructor(api: Api, institutionWarehouse: InstitutionWarehouse, userStrategizer: UserStrategizer, institutionListBuilder: InstitutionListBuilder, institutionSelector: InstitutionSelector, logger: Logger);
    run(): void;
    create(params: Institution, options?: ApiOptions): Observable<Institution>;
    load(options?: ApiOptions): Observable<Institution[]>;
    select(institution: Institution): void;
    private refreshUserStratgey(user, institutions);
}
