import { Observable } from 'rxjs/Observable';
import { GoalsFiltering } from '@documment/mmp.ui.data';
import { Logger } from '@documment/mmp.ui.data';
import { TransactionsFiltering } from '@documment/mmp.ui.data';
import { InstitutionWarehouse } from '@documment/mmp.ui.data';
import { UserSession } from '@documment/mmp.ui.data';
import { InstitutionListBuilder } from './builders/institution-list.builder';
import { FiltersConfig } from './models/filters.config';
import { UserStrategizer } from '../strategy/user/user.strategizer';
export declare class FilteringManager {
    private institutionWarehouse;
    private goalsFiltering;
    private transactionsFiltering;
    private userSession;
    private userStrategizer;
    private institutionListBuilder;
    private filtersConfig;
    private logger;
    constructor(institutionWarehouse: InstitutionWarehouse, goalsFiltering: GoalsFiltering, transactionsFiltering: TransactionsFiltering, userSession: UserSession, userStrategizer: UserStrategizer, institutionListBuilder: InstitutionListBuilder, filtersConfig: FiltersConfig, logger: Logger);
    run(): Observable<void>;
    private monitor();
    private buildGoalFilters(userStrategy, institutions);
    private canBuildFilters(userStrategy);
}
