/**
 * 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 { RelatedTechnique } from '../model/models';
import { TechniqueRelationshipType } from '../model/models';
import { TechniqueShort } from '../model/models';
import { Configuration } from '../configuration';
export interface TechniqueRelationshipsServiceInterface {
    defaultHeaders: HttpHeaders;
    configuration: Configuration;
    /**
     *
     *
     */
    techniqueRelationshipTypes(extraHttpRequestParams?: any): Observable<Array<TechniqueRelationshipType>>;
    /**
     *
     *
     * @param TRID
     */
    techniqueRelationshipsDelete(TRID?: number, extraHttpRequestParams?: any): Observable<CommonResult>;
    /**
     *
     *
     * @param TechniqueID
     * @param RelatedTechniqueID
     */
    techniqueRelationshipsDeleteByKey(TechniqueID?: number, RelatedTechniqueID?: number, extraHttpRequestParams?: any): Observable<CommonResult>;
    /**
     *
     *
     * @param TechniqueID
     */
    techniqueRelationshipsDeleteTechnique(TechniqueID?: number, extraHttpRequestParams?: any): Observable<CommonResult>;
    /**
     *
     *
     * @param TechniqueID
     * @param RelatedTechniqueID
     * @param RelationshipTypeID
     * @param UserID
     */
    techniqueRelationshipsInsert(TechniqueID?: number, RelatedTechniqueID?: number, RelationshipTypeID?: number, UserID?: number, extraHttpRequestParams?: any): Observable<CommonResult>;
    /**
     *
     *
     * @param TechniqueID
     * @param SportID
     * @param TechniqueClassID
     * @param TechniqueTypeID
     * @param TSID
     * @param TechniqueStatusID
     * @param PatternTypeID
     * @param ContentTypeID
     * @param InstructionMethodID
     */
    techniqueRelationshipsSearch(TechniqueID?: number, SportID?: number, TechniqueClassID?: number, TechniqueTypeID?: number, TSID?: number, TechniqueStatusID?: number, PatternTypeID?: number, ContentTypeID?: number, InstructionMethodID?: number, extraHttpRequestParams?: any): Observable<Array<TechniqueShort>>;
    /**
     *
     *
     * @param TechniqueID
     */
    techniqueRelationshipsSelectAll(TechniqueID?: number, extraHttpRequestParams?: any): Observable<Array<RelatedTechnique>>;
    /**
     *
     *
     * @param TRID
     * @param RelationshipTypeID
     */
    techniqueRelationshipsUpdate(TRID?: number, RelationshipTypeID?: number, extraHttpRequestParams?: any): Observable<CommonResult>;
}
