/**
 * soccr.io API
 * An ASP.NET Core Web API for managing Soccer items
 *
 * The version of the OpenAPI document: v1
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import { HttpHeaders } from '@angular/common/http';
import { Observable } from 'rxjs';
import { CommonResult } from '../model/models';
import { TaskHierarchy } from '../model/models';
import { TaskSmall } from '../model/models';
import { Configuration } from '../configuration';
export interface ProjectToolsServiceInterface {
    defaultHeaders: HttpHeaders;
    configuration: Configuration;
    /**
     *
     *
     * @param NewNodeTaskID
     * @param OfParentTaskID
     * @param AfterSiblingNodeID
     */
    addTaskChildAfterSiblingWithLikeParent(NewNodeTaskID?: number, OfParentTaskID?: number, AfterSiblingNodeID?: number, extraHttpRequestParams?: any): Observable<CommonResult>;
    /**
     *
     *
     * @param NewNodeTaskID
     * @param OfParentTaskID
     * @param BeforeSiblingNodeTaskID
     */
    addTaskChildBeforeSiblingWithLikeParent(NewNodeTaskID?: number, OfParentTaskID?: number, BeforeSiblingNodeTaskID?: number, extraHttpRequestParams?: any): Observable<CommonResult>;
    /**
     *
     *
     * @param NewNodeTaskID
     * @param OfParentTaskID
     * @param AfterSiblingNodeTaskID
     * @param BeforeSiblingNodeTaskID
     */
    addTaskChildBetweenSiblingWithLikeParent(NewNodeTaskID?: number, OfParentTaskID?: number, AfterSiblingNodeTaskID?: number, BeforeSiblingNodeTaskID?: number, extraHttpRequestParams?: any): Observable<CommonResult>;
    /**
     *
     *
     * @param ChildTaskID
     * @param ParentTaskID
     */
    addTaskChildToTaskParent(ChildTaskID?: number, ParentTaskID?: number, extraHttpRequestParams?: any): Observable<CommonResult>;
    /**
     *
     *
     * @param RootTaskID
     */
    addTaskRoot(RootTaskID?: number, extraHttpRequestParams?: any): Observable<CommonResult>;
    /**
     *
     *
     * @param TaskSmall
     */
    createSmallTask(TaskSmall?: TaskSmall, extraHttpRequestParams?: any): Observable<CommonResult>;
    /**
     *
     *
     * @param OldParentTaskID
     * @param NewParentTaskID
     */
    exchangeTaskParents(OldParentTaskID?: number, NewParentTaskID?: number, extraHttpRequestParams?: any): Observable<CommonResult>;
    /**
     *
     *
     * @param UserID
     */
    getMyTaskTree(UserID?: number, extraHttpRequestParams?: any): Observable<Array<TaskHierarchy>>;
    /**
     *
     *
     * @param UserID
     */
    getMyTaskTreeAsOrderedList(UserID?: number, extraHttpRequestParams?: any): Observable<Array<TaskHierarchy>>;
    /**
     * Returns list of nodes ordered appropriately (each with correct children)
     *
     * @param UserID
     * @param TaskID
     */
    getMyTaskTreeNode(UserID?: number, TaskID?: number, extraHttpRequestParams?: any): Observable<Array<TaskHierarchy>>;
    /**
     * Returns list of nodes ordered appropriately (each with no children)
     *
     * @param UserID
     * @param TaskID
     */
    getMyTaskTreeNodeAsOrderedList(UserID?: number, TaskID?: number, extraHttpRequestParams?: any): Observable<Array<TaskHierarchy>>;
    /**
     *
     *
     * @param UserID
     */
    getSmallProjectsForUser(UserID?: number, extraHttpRequestParams?: any): Observable<Array<TaskSmall>>;
    /**
     *
     *
     * @param ProjectID
     * @param UserID
     */
    getSmallSubprojectsForUser(ProjectID?: number, UserID?: number, extraHttpRequestParams?: any): Observable<Array<TaskSmall>>;
    /**
     *
     *
     * @param UserID
     */
    getSmallTask(UserID?: number, extraHttpRequestParams?: any): Observable<Array<TaskSmall>>;
    /**
     *
     *
     * @param UserID
     */
    getSmallTasksForUser(UserID?: number, extraHttpRequestParams?: any): Observable<Array<TaskSmall>>;
    /**
     *
     *
     * @param NodeTaskID
     */
    moveTaskDown(NodeTaskID?: number, extraHttpRequestParams?: any): Observable<CommonResult>;
    /**
     *
     *
     * @param NodeTaskID
     */
    moveTaskUp(NodeTaskID?: number, extraHttpRequestParams?: any): Observable<CommonResult>;
    /**
     *
     *
     * @param MovingNodeTaskID
     * @param NewParentTaskID
     */
    reparentTaskID(MovingNodeTaskID?: number, NewParentTaskID?: number, extraHttpRequestParams?: any): Observable<CommonResult>;
}
