import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs/Observable';
import { Class_ } from '../../models/class_.model';
import { Discipline } from '../../models/discipline.model';
import { IAttachable } from './_interfaces/attachable.interface';
import { BaseHttpService } from './base-http.service';
import { CacheService } from '../../services/cache/cache.service';
import { Environment } from '../../interfaces/environment.interface';
export declare class DisciplinesHttpService extends BaseHttpService implements IAttachable {
    protected environment: Environment;
    constructor(http: HttpClient, cache: CacheService, environment: Environment);
    byClass(class_: Class_): Observable<Discipline[]>;
    attach(discipline: Discipline, modelToAttach: Class_, position?: number): Observable<Discipline>;
    /**
     * Detach a module from an activity using the link property
     */
    detach(discipline: Discipline, modelToDetach: Class_): Observable<Discipline>;
    private resolveRelation(model, foreignModel);
}
