import { Observable } from 'rxjs';
import { IterationService as IterationServiceModel, IterationUI } from './../models/iteration.model';
import { HttpClientService } from './../shared/http-module/http.service';
export declare class IterationService {
    private http;
    constructor(http: HttpClientService);
    /**
     * getIteration - We call this service method to fetch
     * @param iterationUrl - The url to get all the iteration
     * @return Promise of IterationModel[] - Array of iterations.
     */
    getIterations(iterationUrl: any): Observable<IterationServiceModel[]>;
    /**
     * Create new iteration
     * @param iterationUrl - POST url
     * @param iteration - data to create a new iteration
     * @return new item
     */
    createIteration(url: string, iteration: IterationServiceModel): Observable<IterationServiceModel>;
    /**
     * Update an existing iteration
     * @param iteration - Updated iteration
     * @return updated iteration's reference from the list
     */
    updateIteration(iteration: IterationServiceModel): Observable<IterationServiceModel>;
    isRootIteration(parentPath: string): boolean;
    /**
     * usage - Finds the children of an iteration
     * @param parent
     * @param iterations
     */
    private checkForChildIterations;
    /**
     * takes all the iterations and resolve the children
     * @param data
     */
    private resolveChildren;
    getTopLevelIterations(iterations: IterationUI[]): IterationUI[];
}
