/**
 * 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 { AchievementExpectation } from '../model/models';
import { CommonResult } from '../model/models';
import { TechniqueAgeGroupDetail } from '../model/models';
import { TechniqueAgeGroupEdit } from '../model/models';
import { TechniqueClassForGuidance } from '../model/models';
import { Configuration } from '../configuration';
export interface TechniqueAchievementServiceInterface {
    defaultHeaders: HttpHeaders;
    configuration: Configuration;
    /**
     * Get the Achievement Expectations.
     *
     */
    achievementExpectationsSelectAll(extraHttpRequestParams?: any): Observable<Array<AchievementExpectation>>;
    /**
     * Get the achievement guidance for a sport.
     *
     * @param SportID
     */
    achievementGuidance(SportID?: number, extraHttpRequestParams?: any): Observable<Array<TechniqueClassForGuidance>>;
    /**
     * Delete all the age group guidance for a technique.
     *
     * @param body
     */
    techniqueAgeGroupsDeleteTechnique(body?: number, extraHttpRequestParams?: any): Observable<CommonResult>;
    /**
     * Get the age group guidiance that has been filled out for a technique. (INNER JOIN)
     *
     * @param TechniqueID
     */
    techniqueAgeGroupsSelectInner(TechniqueID?: number, extraHttpRequestParams?: any): Observable<Array<TechniqueAgeGroupDetail>>;
    /**
     * For a technique, get the age group guidiance regardless of whether it exists or not. (OUTER JOIN)
     *
     * @param TechniqueID
     */
    techniqueAgeGroupsSelectOuter(TechniqueID?: number, extraHttpRequestParams?: any): Observable<Array<TechniqueAgeGroupDetail>>;
    /**
     * Update the achievement guidance for a technique.
     *
     * @param TechniqueAgeGroupEdit
     */
    techniqueAgeGroupsUpdate(TechniqueAgeGroupEdit?: Array<TechniqueAgeGroupEdit>, extraHttpRequestParams?: any): Observable<CommonResult>;
}
