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 { ApiOptions } from '../models/api-options.model';
import { ServiceResponder } from '../services/responders/service.responder';
import { InstitutionPublisher } from '../../pubsub/publishers/data/institution.publisher';
export declare class AffiliationService {
    private httpRequester;
    private institutionMapper;
    private institutionPublisher;
    private serviceResponder;
    constructor(httpRequester: HttpRequester, institutionMapper: InstitutionMapper, institutionPublisher: InstitutionPublisher, serviceResponder: ServiceResponder);
    approve(institutionId: number, personaId: number, options?: ApiOptions): Observable<Institution>;
    activate(institutionId: number, personaId: number, options?: ApiOptions): Observable<Institution>;
    disable(institutionId: number, personaId: number, options?: ApiOptions): Observable<Institution>;
    join(institutionId: number, options?: ApiOptions): Observable<Institution>;
    leave(institutionId: number, options?: ApiOptions): Observable<Institution>;
    reject(institutionId: number, personaId: number, options?: ApiOptions): Observable<Institution>;
    suspend(institutionId: number, personaId: number, options?: ApiOptions): Observable<Institution>;
}
