import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/map';
import { Institution } from '@documment/mmp.core';
import { HttpRequester } from '../http/http-requester';
import { InstitutionMapper } from '../mappers/institution.mapper';
import { InstitutionsMapper } from '../mappers/institutions.mapper';
import { ApiOptions } from '../models/api-options.model';
import { ServiceResponder } from '../services/responders/service.responder';
import { InstitutionPublisher } from '../../pubsub/publishers/data/institution.publisher';
import { InstitutionsPublisher } from '../../pubsub/publishers/data/institutions.publisher';
export declare class InstitutionService {
    private httpRequester;
    private institutionMapper;
    private institutionsMapper;
    private institutionPublisher;
    private institutionsPublisher;
    private serviceResponder;
    constructor(httpRequester: HttpRequester, institutionMapper: InstitutionMapper, institutionsMapper: InstitutionsMapper, institutionPublisher: InstitutionPublisher, institutionsPublisher: InstitutionsPublisher, serviceResponder: ServiceResponder);
    all(options?: ApiOptions): Observable<Institution[]>;
    create(params: Institution, options?: ApiOptions): Observable<Institution>;
    delete(institutionId: number, options?: ApiOptions): Observable<Institution[]>;
    get(institutionId: number, options?: ApiOptions): Observable<Institution>;
    search(pattern: string, options?: ApiOptions): Observable<Institution[]>;
    update(params: Institution, options?: ApiOptions): Observable<Institution>;
}
