import { HttpClient, HttpHeaders, HttpResponse, HttpEvent, HttpParameterCodec, HttpContext } from '@angular/common/http';
import { Observable } from 'rxjs';
import { AcquisitionMethod } from '../model/acquisitionMethod';
import { CloudData } from '../model/cloudData';
import { CommonResult } from '../model/commonResult';
import { ContentTypeEntry } from '../model/contentTypeEntry';
import { ContextEntry } from '../model/contextEntry';
import { DifficultyLevel } from '../model/difficultyLevel';
import { InstructionMethod } from '../model/instructionMethod';
import { PatternType } from '../model/patternType';
import { PossessionState } from '../model/possessionState';
import { ReliabilityLevel } from '../model/reliabilityLevel';
import { RiskLevel } from '../model/riskLevel';
import { SkillLevel } from '../model/skillLevel';
import { Sport } from '../model/sport';
import { TacticalPhase } from '../model/tacticalPhase';
import { TacticalPitchPosition } from '../model/tacticalPitchPosition';
import { TargetIndexEmailPayload } from '../model/targetIndexEmailPayload';
import { TechniqueApplication } from '../model/techniqueApplication';
import { TechniqueApplicationRequest } from '../model/techniqueApplicationRequest';
import { TechniqueApplicationUpdate } from '../model/techniqueApplicationUpdate';
import { TechniqueAutoComplete } from '../model/techniqueAutoComplete';
import { TechniqueClass } from '../model/techniqueClass';
import { TechniqueClassSection } from '../model/techniqueClassSection';
import { TechniqueDashboard } from '../model/techniqueDashboard';
import { TechniqueDetailed } from '../model/techniqueDetailed';
import { TechniqueForUpdate } from '../model/techniqueForUpdate';
import { TechniqueListCurrentPosition } from '../model/techniqueListCurrentPosition';
import { TechniquePhase } from '../model/techniquePhase';
import { TechniquePhaseUpdate } from '../model/techniquePhaseUpdate';
import { TechniqueSearchInput } from '../model/techniqueSearchInput';
import { TechniqueSeriesNavigationDetail } from '../model/techniqueSeriesNavigationDetail';
import { TechniqueShort } from '../model/techniqueShort';
import { TechniqueStatus } from '../model/techniqueStatus';
import { TechniqueType } from '../model/techniqueType';
import { Configuration } from '../configuration';
import { TechniquesServiceInterface } from './techniques.serviceInterface';
import * as i0 from "@angular/core";
export declare class TechniquesService implements TechniquesServiceInterface {
    protected httpClient: HttpClient;
    protected basePath: string;
    defaultHeaders: HttpHeaders;
    configuration: Configuration;
    encoder: HttpParameterCodec;
    constructor(httpClient: HttpClient, basePath: string | string[], configuration: Configuration);
    private addToHttpParams;
    private addToHttpParamsRecursive;
    /**
     * Get Acquisition Methods
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    acquisitionMethods(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<AcquisitionMethod>>;
    acquisitionMethods(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<AcquisitionMethod>>>;
    acquisitionMethods(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<AcquisitionMethod>>>;
    /**
     * Get Content Types
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    contentTypes(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<ContentTypeEntry>>;
    contentTypes(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<ContentTypeEntry>>>;
    contentTypes(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<ContentTypeEntry>>>;
    /**
     * Get Difficulty Levels
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    difficultyLevels(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<DifficultyLevel>>;
    difficultyLevels(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<DifficultyLevel>>>;
    difficultyLevels(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<DifficultyLevel>>>;
    /**
     * Test whether database calls are working.  Should return an lengthy environment string.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    getDatabaseTest(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<string>;
    getDatabaseTest(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<string>>;
    getDatabaseTest(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<string>>;
    /**
     * Test whether valid API data is coming back. Should return \&quot;1|OK\&quot; as a string.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    getTechniquesTest(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<string>;
    getTechniquesTest(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<string>>;
    getTechniquesTest(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<string>>;
    /**
     * Get Instruction Methods
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    instructionMethods(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<InstructionMethod>>;
    instructionMethods(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<InstructionMethod>>>;
    instructionMethods(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<InstructionMethod>>>;
    /**
     * Get Pattern Types
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    patternTypes(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<PatternType>>;
    patternTypes(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<PatternType>>>;
    patternTypes(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<PatternType>>>;
    /**
     * Get the Possession States
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    possessionStateSelectAll(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<PossessionState>>;
    possessionStateSelectAll(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<PossessionState>>>;
    possessionStateSelectAll(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<PossessionState>>>;
    /**
     * Get reliability Levels
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    reliabilityLevels(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<ReliabilityLevel>>;
    reliabilityLevels(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<ReliabilityLevel>>>;
    reliabilityLevels(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<ReliabilityLevel>>>;
    /**
     * Get Risk Levels
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    riskLevels(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<RiskLevel>>;
    riskLevels(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<RiskLevel>>>;
    riskLevels(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<RiskLevel>>>;
    /**
     * Select all the entries for a given context (\&quot;TECHNIQUE\&quot;,etc.)  This might have a lot of entries and might not perform well. Might need to be paged.
     * @param Context
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    selectTechniqueContextEntriesForContext(Context?: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<ContextEntry>>;
    selectTechniqueContextEntriesForContext(Context?: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<ContextEntry>>>;
    selectTechniqueContextEntriesForContext(Context?: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<ContextEntry>>>;
    /**
     * Select all the context types.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    selectTechniqueContextTypes(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<string>>;
    selectTechniqueContextTypes(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<string>>>;
    selectTechniqueContextTypes(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<string>>>;
    /**
     *
     * @param TargetIndexEmailPayload
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    sendTechniqueEmailAsync(TargetIndexEmailPayload?: TargetIndexEmailPayload, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    sendTechniqueEmailAsync(TargetIndexEmailPayload?: TargetIndexEmailPayload, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    sendTechniqueEmailAsync(TargetIndexEmailPayload?: TargetIndexEmailPayload, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    /**
     * Get Skill Levels
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    skillLevels(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<SkillLevel>>;
    skillLevels(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<SkillLevel>>>;
    skillLevels(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<SkillLevel>>>;
    /**
     * Get Sports
     * @param IncludeChildren
     * @param IncludeAny
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    sportsSelectAll(IncludeChildren?: boolean, IncludeAny?: boolean, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<Sport>>;
    sportsSelectAll(IncludeChildren?: boolean, IncludeAny?: boolean, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<Sport>>>;
    sportsSelectAll(IncludeChildren?: boolean, IncludeAny?: boolean, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<Sport>>>;
    /**
     * Get a sport.
     * @param SportID
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    sportsSelectItem(SportID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Sport>;
    sportsSelectItem(SportID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Sport>>;
    sportsSelectItem(SportID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Sport>>;
    /**
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    tacticalPhasesSelectAll(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<TacticalPhase>>;
    tacticalPhasesSelectAll(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<TacticalPhase>>>;
    tacticalPhasesSelectAll(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<TacticalPhase>>>;
    /**
     * @param SportID
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    tacticalPitchPositionSelectAll(SportID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<TacticalPitchPosition>>;
    tacticalPitchPositionSelectAll(SportID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<TacticalPitchPosition>>>;
    tacticalPitchPositionSelectAll(SportID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<TacticalPitchPosition>>>;
    /**
     * @param body
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniqueApplicationDeleteByApplication(body?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<CommonResult>;
    techniqueApplicationDeleteByApplication(body?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<CommonResult>>;
    techniqueApplicationDeleteByApplication(body?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<CommonResult>>;
    /**
     * @param body
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniqueApplicationDeleteByUsage(body?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<CommonResult>;
    techniqueApplicationDeleteByUsage(body?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<CommonResult>>;
    techniqueApplicationDeleteByUsage(body?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<CommonResult>>;
    /**
     * Delete Technique Application for a Technique
     * @param body
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniqueApplicationDeleteTechnique(body?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<CommonResult>;
    techniqueApplicationDeleteTechnique(body?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<CommonResult>>;
    techniqueApplicationDeleteTechnique(body?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<CommonResult>>;
    /**
     * Get list of Technique Application for a Technique
     * @param TechniqueID
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniqueApplicationSelectList(TechniqueID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<TechniqueApplication>>;
    techniqueApplicationSelectList(TechniqueID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<TechniqueApplication>>>;
    techniqueApplicationSelectList(TechniqueID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<TechniqueApplication>>>;
    /**
     *
     * @param TechniqueTypeID
     * @param TSID
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniqueApplicationSeriesTechniques(TechniqueTypeID?: number, TSID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<TechniqueDetailed>>;
    techniqueApplicationSeriesTechniques(TechniqueTypeID?: number, TSID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<TechniqueDetailed>>>;
    techniqueApplicationSeriesTechniques(TechniqueTypeID?: number, TSID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<TechniqueDetailed>>>;
    /**
     *
     * @param TAID
     * @param Direction
     * @param TheEnd
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniqueApplicationSeriesTechniquesMove(TAID?: number, Direction?: boolean, TheEnd?: boolean, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<CommonResult>;
    techniqueApplicationSeriesTechniquesMove(TAID?: number, Direction?: boolean, TheEnd?: boolean, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<CommonResult>>;
    techniqueApplicationSeriesTechniquesMove(TAID?: number, Direction?: boolean, TheEnd?: boolean, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<CommonResult>>;
    /**
     * Update Technique Application (Bulk)
     * @param TechniqueApplicationUpdate
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniqueApplicationUpdate(TechniqueApplicationUpdate?: Array<TechniqueApplicationUpdate>, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<CommonResult>;
    techniqueApplicationUpdate(TechniqueApplicationUpdate?: Array<TechniqueApplicationUpdate>, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<CommonResult>>;
    techniqueApplicationUpdate(TechniqueApplicationUpdate?: Array<TechniqueApplicationUpdate>, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<CommonResult>>;
    /**
     * Change the sort order for an item. Move it up or down.
     * @param TAID
     * @param KeyTechnique
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniqueApplicationUpdateKeyTechnique(TAID?: number, KeyTechnique?: boolean, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<CommonResult>;
    techniqueApplicationUpdateKeyTechnique(TAID?: number, KeyTechnique?: boolean, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<CommonResult>>;
    techniqueApplicationUpdateKeyTechnique(TAID?: number, KeyTechnique?: boolean, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<CommonResult>>;
    /**
     * Change the sort order for an item. Move it up or down.
     * @param TAID
     * @param Direction
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniqueApplicationUpdateSortOrder(TAID?: number, Direction?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<CommonResult>;
    techniqueApplicationUpdateSortOrder(TAID?: number, Direction?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<CommonResult>>;
    techniqueApplicationUpdateSortOrder(TAID?: number, Direction?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<CommonResult>>;
    /**
     * Spot move a Technique Application
     * @param TAIDSrc
     * @param TAIDTgt
     * @param TSID
     * @param Direction
     * @param Debug
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniqueApplicationUpdateSpotMove(TAIDSrc?: number, TAIDTgt?: number, TSID?: number, Direction?: number, Debug?: boolean, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<CommonResult>;
    techniqueApplicationUpdateSpotMove(TAIDSrc?: number, TAIDTgt?: number, TSID?: number, Direction?: number, Debug?: boolean, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<CommonResult>>;
    techniqueApplicationUpdateSpotMove(TAIDSrc?: number, TAIDTgt?: number, TSID?: number, Direction?: number, Debug?: boolean, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<CommonResult>>;
    /**
     * @param SportID
     * @param IncludeAny
     * @param SearchText
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniqueChipAutoCompleteDefaultsForSport(SportID?: number, IncludeAny?: boolean, SearchText?: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<string>>;
    techniqueChipAutoCompleteDefaultsForSport(SportID?: number, IncludeAny?: boolean, SearchText?: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<string>>>;
    techniqueChipAutoCompleteDefaultsForSport(SportID?: number, IncludeAny?: boolean, SearchText?: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<string>>>;
    /**
     * @param SportID
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniqueClassesForSportPositions(SportID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<TechniqueClass>>;
    techniqueClassesForSportPositions(SportID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<TechniqueClass>>>;
    techniqueClassesForSportPositions(SportID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<TechniqueClass>>>;
    /**
     * Get all Technique Classes (probably needs sports filter, defaults to 1)
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniqueClassesSelectAll(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<TechniqueClass>>;
    techniqueClassesSelectAll(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<TechniqueClass>>>;
    techniqueClassesSelectAll(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<TechniqueClass>>>;
    /**
     * Get a Technique Class
     * @param TechniqueClassID
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniqueClassesSelectItem(TechniqueClassID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<TechniqueClass>;
    techniqueClassesSelectItem(TechniqueClassID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<TechniqueClass>>;
    techniqueClassesSelectItem(TechniqueClassID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<TechniqueClass>>;
    /**
     * Select all Technique Classes for a Sport
     * @param SportID
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniqueClassesSelectSport(SportID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<TechniqueClass>>;
    techniqueClassesSelectSport(SportID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<TechniqueClass>>>;
    techniqueClassesSelectSport(SportID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<TechniqueClass>>>;
    /**
     * Copy a technique including all it\&#39;s application references. Not the whole thing, but enough for it to show up in all the same places.
     * @param body
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniqueCopy(body?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<CommonResult>;
    techniqueCopy(body?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<CommonResult>>;
    techniqueCopy(body?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<CommonResult>>;
    /**
     * Delete the Technique including all it\&#39;s satellite/foreign key reference data. This smokes the whole thing.
     * @param body
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniqueDelete(body?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<CommonResult>;
    techniqueDelete(body?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<CommonResult>>;
    techniqueDelete(body?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<CommonResult>>;
    /**
     * Create a new Technique. Returns a result object where the ApplicableKey is the new TechniqueID.
     * @param TechniqueForUpdate
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniqueInsert(TechniqueForUpdate?: TechniqueForUpdate, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<CommonResult>;
    techniqueInsert(TechniqueForUpdate?: TechniqueForUpdate, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<CommonResult>>;
    techniqueInsert(TechniqueForUpdate?: TechniqueForUpdate, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<CommonResult>>;
    /**
     * @param TechniquePhaseUpdate
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniquePhaseBulkInsertUpdate(TechniquePhaseUpdate?: Array<TechniquePhaseUpdate>, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<CommonResult>;
    techniquePhaseBulkInsertUpdate(TechniquePhaseUpdate?: Array<TechniquePhaseUpdate>, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<CommonResult>>;
    techniquePhaseBulkInsertUpdate(TechniquePhaseUpdate?: Array<TechniquePhaseUpdate>, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<CommonResult>>;
    /**
     * @param TechniqueID
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniquePhaseDeleteForTechnique(TechniqueID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<CommonResult>;
    techniquePhaseDeleteForTechnique(TechniqueID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<CommonResult>>;
    techniquePhaseDeleteForTechnique(TechniqueID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<CommonResult>>;
    /**
     * @param TPID
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniquePhaseDeleteItem(TPID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<CommonResult>;
    techniquePhaseDeleteItem(TPID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<CommonResult>>;
    techniquePhaseDeleteItem(TPID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<CommonResult>>;
    /**
     * @param TechniqueID
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniquePhasesSelectItem(TechniqueID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<TechniquePhase>>;
    techniquePhasesSelectItem(TechniqueID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<TechniquePhase>>>;
    techniquePhasesSelectItem(TechniqueID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<TechniquePhase>>>;
    /**
     * Get Technique Status values
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniqueStatusList(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<TechniqueStatus>>;
    techniqueStatusList(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<TechniqueStatus>>>;
    techniqueStatusList(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<TechniqueStatus>>>;
    /**
     * @param TechniqueTypeID
     * @param TSID
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniqueTagCloudForApplication(TechniqueTypeID?: number, TSID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<CloudData>>;
    techniqueTagCloudForApplication(TechniqueTypeID?: number, TSID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<CloudData>>>;
    techniqueTagCloudForApplication(TechniqueTypeID?: number, TSID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<CloudData>>>;
    /**
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniqueTagCloudForSite(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<CloudData>>;
    techniqueTagCloudForSite(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<CloudData>>>;
    techniqueTagCloudForSite(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<CloudData>>>;
    /**
     * @param SportID
     * @param IncludeAny
     * @param SearchText
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniqueTagCloudForSport(SportID?: number, IncludeAny?: boolean, SearchText?: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<CloudData>>;
    techniqueTagCloudForSport(SportID?: number, IncludeAny?: boolean, SearchText?: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<CloudData>>>;
    techniqueTagCloudForSport(SportID?: number, IncludeAny?: boolean, SearchText?: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<CloudData>>>;
    /**
     * Get Active Technique Classes
     * @param TechniqueClassID
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniqueTypesForClassSectionedActive(TechniqueClassID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<TechniqueClassSection>>;
    techniqueTypesForClassSectionedActive(TechniqueClassID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<TechniqueClassSection>>>;
    techniqueTypesForClassSectionedActive(TechniqueClassID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<TechniqueClassSection>>>;
    /**
     * Get Active Technique Classes
     * @param TechniqueClassID
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniqueTypesSelectActive(TechniqueClassID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<TechniqueType>>;
    techniqueTypesSelectActive(TechniqueClassID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<TechniqueType>>>;
    techniqueTypesSelectActive(TechniqueClassID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<TechniqueType>>>;
    /**
     *
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniqueTypesSelectAll(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<TechniqueType>>;
    techniqueTypesSelectAll(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<TechniqueType>>>;
    techniqueTypesSelectAll(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<TechniqueType>>>;
    /**
     * Get all TechniqueTypes of the In-Process Status. (I have no idea what tha is...)
     * @param TechniqueClassID
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniqueTypesSelectInProcess(TechniqueClassID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<TechniqueType>>;
    techniqueTypesSelectInProcess(TechniqueClassID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<TechniqueType>>>;
    techniqueTypesSelectInProcess(TechniqueClassID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<TechniqueType>>>;
    /**
     * Get active TechniqueTypes for TechniqueClass.
     * @param TechniqueClassID
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniqueTypesSelectInactive(TechniqueClassID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<TechniqueType>>;
    techniqueTypesSelectInactive(TechniqueClassID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<TechniqueType>>>;
    techniqueTypesSelectInactive(TechniqueClassID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<TechniqueType>>>;
    /**
     * Get a Technique Type.
     * @param TechniqueTypeID
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniqueTypesSelectItem(TechniqueTypeID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<TechniqueType>;
    techniqueTypesSelectItem(TechniqueTypeID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<TechniqueType>>;
    techniqueTypesSelectItem(TechniqueTypeID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<TechniqueType>>;
    /**
     * Get all TechniqueTypes of the Ready-To-Promote Status. (I have no idea what tha is...)
     * @param TechniqueClassID
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniqueTypesSelectReadyToPromote(TechniqueClassID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<TechniqueType>>;
    techniqueTypesSelectReadyToPromote(TechniqueClassID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<TechniqueType>>>;
    techniqueTypesSelectReadyToPromote(TechniqueClassID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<TechniqueType>>>;
    /**
     * Update the Technique.
     * @param TechniqueForUpdate
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniqueUpdate(TechniqueForUpdate?: TechniqueForUpdate, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<CommonResult>;
    techniqueUpdate(TechniqueForUpdate?: TechniqueForUpdate, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<CommonResult>>;
    techniqueUpdate(TechniqueForUpdate?: TechniqueForUpdate, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<CommonResult>>;
    /**
     * When using the editor, get the FIRST item by ID (should be 1, Cruyff Turn).
     * @param TechniqueID
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniquesByIDSelectFirst(TechniqueID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<TechniqueDetailed>;
    techniquesByIDSelectFirst(TechniqueID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<TechniqueDetailed>>;
    techniquesByIDSelectFirst(TechniqueID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<TechniqueDetailed>>;
    /**
     * When using the editor, get the LAST item by ID.
     * @param TechniqueID
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniquesByIDSelectLast(TechniqueID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<TechniqueDetailed>;
    techniquesByIDSelectLast(TechniqueID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<TechniqueDetailed>>;
    techniquesByIDSelectLast(TechniqueID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<TechniqueDetailed>>;
    /**
     * When using the editor, get the next item by ID.
     * @param TechniqueID
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniquesByIDSelectNext(TechniqueID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<TechniqueDetailed>;
    techniquesByIDSelectNext(TechniqueID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<TechniqueDetailed>>;
    techniquesByIDSelectNext(TechniqueID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<TechniqueDetailed>>;
    /**
     * When using the editor, get the PREV item by ID.
     * @param TechniqueID
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniquesByIDSelectPrev(TechniqueID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<TechniqueDetailed>;
    techniquesByIDSelectPrev(TechniqueID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<TechniqueDetailed>>;
    techniquesByIDSelectPrev(TechniqueID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<TechniqueDetailed>>;
    /**
     * Get Technique Dashboard information.
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniquesDashboard(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<TechniqueDashboard>;
    techniquesDashboard(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<TechniqueDashboard>>;
    techniquesDashboard(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<TechniqueDashboard>>;
    /**
     * Search for a technique.
     * @param TechniqueSearchInput
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniquesSearch(TechniqueSearchInput?: TechniqueSearchInput, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<TechniqueDetailed>>;
    techniquesSearch(TechniqueSearchInput?: TechniqueSearchInput, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<TechniqueDetailed>>>;
    techniquesSearch(TechniqueSearchInput?: TechniqueSearchInput, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<TechniqueDetailed>>>;
    /**
     * Search for a technique by it\&#39;s ID.
     * @param TechniqueTypeID
     * @param TechniqueID
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniquesSearchAutoCompleteByDot(TechniqueTypeID?: number, TechniqueID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<TechniqueAutoComplete>>;
    techniquesSearchAutoCompleteByDot(TechniqueTypeID?: number, TechniqueID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<TechniqueAutoComplete>>>;
    techniquesSearchAutoCompleteByDot(TechniqueTypeID?: number, TechniqueID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<TechniqueAutoComplete>>>;
    /**
     * Search for a technique with auto-complete.
     * @param SearchText
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniquesSearchAutoCompleteByName(SearchText?: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<TechniqueAutoComplete>>;
    techniquesSearchAutoCompleteByName(SearchText?: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<TechniqueAutoComplete>>>;
    techniquesSearchAutoCompleteByName(SearchText?: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<TechniqueAutoComplete>>>;
    /**
     *
     * @param TechniqueTypeID
     * @param TSID
     * @param MuscleGroupID
     * @param ExerciseClassID
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniquesSelectActive(TechniqueTypeID?: number, TSID?: number, MuscleGroupID?: number, ExerciseClassID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<TechniqueShort>>;
    techniquesSelectActive(TechniqueTypeID?: number, TSID?: number, MuscleGroupID?: number, ExerciseClassID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<TechniqueShort>>>;
    techniquesSelectActive(TechniqueTypeID?: number, TSID?: number, MuscleGroupID?: number, ExerciseClassID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<TechniqueShort>>>;
    /**
     * Select all Techniques. This is a monster. Don\&#39;t use. Probably should be set to return nothing or eliminated as a method entirely.,
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniquesSelectAll(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<TechniqueShort>>;
    techniquesSelectAll(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<TechniqueShort>>>;
    techniquesSelectAll(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<TechniqueShort>>>;
    /**
     *
     * @param SportID
     * @param TechniqueTypeID
     * @param TSID
     * @param TechniqueID
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniquesSelectAllForTechniqueTypeAttached(SportID?: number, TechniqueTypeID?: number, TSID?: number, TechniqueID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<TechniqueShort>>;
    techniquesSelectAllForTechniqueTypeAttached(SportID?: number, TechniqueTypeID?: number, TSID?: number, TechniqueID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<TechniqueShort>>>;
    techniquesSelectAllForTechniqueTypeAttached(SportID?: number, TechniqueTypeID?: number, TSID?: number, TechniqueID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<TechniqueShort>>>;
    /**
     *
     * @param SportID
     * @param TechniqueTypeID
     * @param TSID
     * @param TechniqueID
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniquesSelectAllForTechniqueTypeUnattached(SportID?: number, TechniqueTypeID?: number, TSID?: number, TechniqueID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<TechniqueShort>>;
    techniquesSelectAllForTechniqueTypeUnattached(SportID?: number, TechniqueTypeID?: number, TSID?: number, TechniqueID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<TechniqueShort>>>;
    techniquesSelectAllForTechniqueTypeUnattached(SportID?: number, TechniqueTypeID?: number, TSID?: number, TechniqueID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<TechniqueShort>>>;
    /**
     * Select all Techniques that apply to an application as specified(limited to Technique Type, Series, Muscle Group, Exercise Class)
     * @param TechniqueTypeID
     * @param TSID
     * @param MuscleGroupID
     * @param ExerciseClassID
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniquesSelectAllForType(TechniqueTypeID?: number, TSID?: number, MuscleGroupID?: number, ExerciseClassID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<TechniqueShort>>;
    techniquesSelectAllForType(TechniqueTypeID?: number, TSID?: number, MuscleGroupID?: number, ExerciseClassID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<TechniqueShort>>>;
    techniquesSelectAllForType(TechniqueTypeID?: number, TSID?: number, MuscleGroupID?: number, ExerciseClassID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<TechniqueShort>>>;
    /**
     *
     * @param TechniqueTypeID
     * @param MuscleGroupID
     * @param ExerciseClassID
     * @param TSID
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniquesSelectAllForTypeSeries(TechniqueTypeID?: number, MuscleGroupID?: number, ExerciseClassID?: number, TSID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<TechniqueShort>>;
    techniquesSelectAllForTypeSeries(TechniqueTypeID?: number, MuscleGroupID?: number, ExerciseClassID?: number, TSID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<TechniqueShort>>>;
    techniquesSelectAllForTypeSeries(TechniqueTypeID?: number, MuscleGroupID?: number, ExerciseClassID?: number, TSID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<TechniqueShort>>>;
    /**
     *
     * @param SportID
     * @param TechniqueClassID
     * @param TechniqueTypeID
     * @param TechniqueStatusID
     * @param PatternTypeID
     * @param ContentTypeID
     * @param TSID
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniquesSelectFilteredInner(SportID?: number, TechniqueClassID?: number, TechniqueTypeID?: number, TechniqueStatusID?: number, PatternTypeID?: number, ContentTypeID?: number, TSID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<TechniqueShort>>;
    techniquesSelectFilteredInner(SportID?: number, TechniqueClassID?: number, TechniqueTypeID?: number, TechniqueStatusID?: number, PatternTypeID?: number, ContentTypeID?: number, TSID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<TechniqueShort>>>;
    techniquesSelectFilteredInner(SportID?: number, TechniqueClassID?: number, TechniqueTypeID?: number, TechniqueStatusID?: number, PatternTypeID?: number, ContentTypeID?: number, TSID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<TechniqueShort>>>;
    /**
     *
     * @param SportID
     * @param TechniqueClassID
     * @param TechniqueTypeID
     * @param TechniqueStatusID
     * @param PatternTypeID
     * @param ContentTypeID
     * @param TSID
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniquesSelectFilteredOuter(SportID?: number, TechniqueClassID?: number, TechniqueTypeID?: number, TechniqueStatusID?: number, PatternTypeID?: number, ContentTypeID?: number, TSID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<TechniqueShort>>;
    techniquesSelectFilteredOuter(SportID?: number, TechniqueClassID?: number, TechniqueTypeID?: number, TechniqueStatusID?: number, PatternTypeID?: number, ContentTypeID?: number, TSID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<TechniqueShort>>>;
    techniquesSelectFilteredOuter(SportID?: number, TechniqueClassID?: number, TechniqueTypeID?: number, TechniqueStatusID?: number, PatternTypeID?: number, ContentTypeID?: number, TSID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<TechniqueShort>>>;
    /**
     * Get the data to move to the FIRST position given where we are now.
     * @param TechniqueTypeID
     * @param TechniqueID
     * @param TSID
     * @param MuscleGroupID
     * @param ExerciseClassID
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniquesSelectFirst(TechniqueTypeID?: number, TechniqueID?: number, TSID?: number, MuscleGroupID?: number, ExerciseClassID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<TechniqueDetailed>;
    techniquesSelectFirst(TechniqueTypeID?: number, TechniqueID?: number, TSID?: number, MuscleGroupID?: number, ExerciseClassID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<TechniqueDetailed>>;
    techniquesSelectFirst(TechniqueTypeID?: number, TechniqueID?: number, TSID?: number, MuscleGroupID?: number, ExerciseClassID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<TechniqueDetailed>>;
    /**
     * Select a Technique for edit. More details.
     * @param TechniqueID
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniquesSelectForEdit(TechniqueID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<TechniqueDetailed>;
    techniquesSelectForEdit(TechniqueID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<TechniqueDetailed>>;
    techniquesSelectForEdit(TechniqueID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<TechniqueDetailed>>;
    /**
     * Select a Technique.
     * @param TechniqueID
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniquesSelectItem(TechniqueID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<TechniqueDetailed>;
    techniquesSelectItem(TechniqueID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<TechniqueDetailed>>;
    techniquesSelectItem(TechniqueID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<TechniqueDetailed>>;
    /**
     * Select a Technique for a given application series.
     * @param TechniqueTypeID
     * @param TSID
     * @param TechniqueID
     * @param MuscleGroupID
     * @param ExerciseClassID
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniquesSelectItemForApplicationSeries(TechniqueTypeID?: number, TSID?: number, TechniqueID?: number, MuscleGroupID?: number, ExerciseClassID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<TechniqueDetailed>;
    techniquesSelectItemForApplicationSeries(TechniqueTypeID?: number, TSID?: number, TechniqueID?: number, MuscleGroupID?: number, ExerciseClassID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<TechniqueDetailed>>;
    techniquesSelectItemForApplicationSeries(TechniqueTypeID?: number, TSID?: number, TechniqueID?: number, MuscleGroupID?: number, ExerciseClassID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<TechniqueDetailed>>;
    /**
     * Select the item (Technique) of the day.
     * @param TechniqueTypeID
     * @param TSID
     * @param MuscleGroupID
     * @param ExerciseClassID
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniquesSelectItemOfTheDay(TechniqueTypeID?: number, TSID?: number, MuscleGroupID?: number, ExerciseClassID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<TechniqueDetailed>;
    techniquesSelectItemOfTheDay(TechniqueTypeID?: number, TSID?: number, MuscleGroupID?: number, ExerciseClassID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<TechniqueDetailed>>;
    techniquesSelectItemOfTheDay(TechniqueTypeID?: number, TSID?: number, MuscleGroupID?: number, ExerciseClassID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<TechniqueDetailed>>;
    /**
     * Select a random Technique.
     * @param request_body
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniquesSelectItemRandom(request_body?: Array<number>, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<TechniqueDetailed>;
    techniquesSelectItemRandom(request_body?: Array<number>, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<TechniqueDetailed>>;
    techniquesSelectItemRandom(request_body?: Array<number>, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<TechniqueDetailed>>;
    /**
     * Get the data to move to the LAST position given where we are now.
     * @param TechniqueTypeID
     * @param TechniqueID
     * @param TSID
     * @param MuscleGroupID
     * @param ExerciseClassID
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniquesSelectLast(TechniqueTypeID?: number, TechniqueID?: number, TSID?: number, MuscleGroupID?: number, ExerciseClassID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<TechniqueDetailed>;
    techniquesSelectLast(TechniqueTypeID?: number, TechniqueID?: number, TSID?: number, MuscleGroupID?: number, ExerciseClassID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<TechniqueDetailed>>;
    techniquesSelectLast(TechniqueTypeID?: number, TechniqueID?: number, TSID?: number, MuscleGroupID?: number, ExerciseClassID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<TechniqueDetailed>>;
    /**
     * Get a list of techniques as specified.
     * @param TechniqueApplicationRequest
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniquesSelectListAsRequested(TechniqueApplicationRequest?: Array<TechniqueApplicationRequest>, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<TechniqueDetailed>>;
    techniquesSelectListAsRequested(TechniqueApplicationRequest?: Array<TechniqueApplicationRequest>, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<TechniqueDetailed>>>;
    techniquesSelectListAsRequested(TechniqueApplicationRequest?: Array<TechniqueApplicationRequest>, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<TechniqueDetailed>>>;
    /**
     * Get the data to move to the NEXT position given where we are now.
     * @param TechniqueTypeID
     * @param TechniqueID
     * @param TSID
     * @param MuscleGroupID
     * @param ExerciseClassID
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniquesSelectNext(TechniqueTypeID?: number, TechniqueID?: number, TSID?: number, MuscleGroupID?: number, ExerciseClassID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<TechniqueDetailed>;
    techniquesSelectNext(TechniqueTypeID?: number, TechniqueID?: number, TSID?: number, MuscleGroupID?: number, ExerciseClassID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<TechniqueDetailed>>;
    techniquesSelectNext(TechniqueTypeID?: number, TechniqueID?: number, TSID?: number, MuscleGroupID?: number, ExerciseClassID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<TechniqueDetailed>>;
    /**
     * Get the current position information given where we are now (are we at last, are we at first, how many are there, etc.)
     * @param TechniqueTypeID
     * @param TechniqueID
     * @param TSID
     * @param MuscleGroupID
     * @param ExerciseClassID
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniquesSelectOrderedPosition(TechniqueTypeID?: number, TechniqueID?: number, TSID?: number, MuscleGroupID?: number, ExerciseClassID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<TechniqueListCurrentPosition>;
    techniquesSelectOrderedPosition(TechniqueTypeID?: number, TechniqueID?: number, TSID?: number, MuscleGroupID?: number, ExerciseClassID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<TechniqueListCurrentPosition>>;
    techniquesSelectOrderedPosition(TechniqueTypeID?: number, TechniqueID?: number, TSID?: number, MuscleGroupID?: number, ExerciseClassID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<TechniqueListCurrentPosition>>;
    /**
     * Get the data to move to the PREVIOUS position given where we are now.
     * @param TechniqueTypeID
     * @param TechniqueID
     * @param TSID
     * @param MuscleGroupID
     * @param ExerciseClassID
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniquesSelectPrev(TechniqueTypeID?: number, TechniqueID?: number, TSID?: number, MuscleGroupID?: number, ExerciseClassID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<TechniqueDetailed>;
    techniquesSelectPrev(TechniqueTypeID?: number, TechniqueID?: number, TSID?: number, MuscleGroupID?: number, ExerciseClassID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<TechniqueDetailed>>;
    techniquesSelectPrev(TechniqueTypeID?: number, TechniqueID?: number, TSID?: number, MuscleGroupID?: number, ExerciseClassID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<TechniqueDetailed>>;
    /**
     * Get Technique Navigation information.
     * @param TechniqueTypeID
     * @param TSID
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    techniquesTypeNavigation(TechniqueTypeID?: number, TSID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<TechniqueSeriesNavigationDetail>;
    techniquesTypeNavigation(TechniqueTypeID?: number, TSID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<TechniqueSeriesNavigationDetail>>;
    techniquesTypeNavigation(TechniqueTypeID?: number, TSID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<TechniqueSeriesNavigationDetail>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<TechniquesService, [null, { optional: true; }, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<TechniquesService>;
}
