import { HttpClient, HttpHeaders, HttpResponse, HttpEvent, HttpParameterCodec, HttpContext } from '@angular/common/http';
import { Observable } from 'rxjs';
import { ContextMetric } from '../model/contextMetric';
import { Configuration } from '../configuration';
import { ContextMetricsServiceInterface } from './contextMetrics.serviceInterface';
import * as i0 from "@angular/core";
export declare class ContextMetricsService implements ContextMetricsServiceInterface {
    protected httpClient: HttpClient;
    protected basePath: string;
    defaultHeaders: HttpHeaders;
    configuration: Configuration;
    encoder: HttpParameterCodec;
    constructor(httpClient: HttpClient, basePath: string | string[], configuration: Configuration);
    private addToHttpParams;
    private addToHttpParamsRecursive;
    /**
     * @param Context
     * @param Metric
     * @param Bottom
     * @param InclusiveRangeStart
     * @param InclusiveRangeEnd
     * @param TenantID
     * @param UserID
     * @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.
     */
    contextMetricsSelectBottomForDateRange(Context?: string, Metric?: string, Bottom?: number, InclusiveRangeStart?: Date, InclusiveRangeEnd?: Date, TenantID?: number, UserID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<ContextMetric>>;
    contextMetricsSelectBottomForDateRange(Context?: string, Metric?: string, Bottom?: number, InclusiveRangeStart?: Date, InclusiveRangeEnd?: Date, TenantID?: number, UserID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<ContextMetric>>>;
    contextMetricsSelectBottomForDateRange(Context?: string, Metric?: string, Bottom?: number, InclusiveRangeStart?: Date, InclusiveRangeEnd?: Date, TenantID?: number, UserID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<ContextMetric>>>;
    /**
     * @param Context
     * @param Metric
     * @param Bottom
     * @param InclusiveRangeStart
     * @param InclusiveRangeEnd
     * @param TenantID
     * @param UserID
     * @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.
     */
    contextMetricsSelectBottomForHour(Context?: string, Metric?: string, Bottom?: number, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<ContextMetric>>;
    contextMetricsSelectBottomForHour(Context?: string, Metric?: string, Bottom?: number, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<ContextMetric>>>;
    contextMetricsSelectBottomForHour(Context?: string, Metric?: string, Bottom?: number, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<ContextMetric>>>;
    /**
     * @param Context
     * @param Metric
     * @param Bottom
     * @param InclusiveRangeStart
     * @param InclusiveRangeEnd
     * @param TenantID
     * @param UserID
     * @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.
     */
    contextMetricsSelectBottomForMonth(Context?: string, Metric?: string, Bottom?: number, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<ContextMetric>>;
    contextMetricsSelectBottomForMonth(Context?: string, Metric?: string, Bottom?: number, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<ContextMetric>>>;
    contextMetricsSelectBottomForMonth(Context?: string, Metric?: string, Bottom?: number, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<ContextMetric>>>;
    /**
     * @param Context
     * @param Metric
     * @param Bottom
     * @param InclusiveRangeStart
     * @param InclusiveRangeEnd
     * @param TenantID
     * @param UserID
     * @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.
     */
    contextMetricsSelectBottomForWeek(Context?: string, Metric?: string, Bottom?: number, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<ContextMetric>>;
    contextMetricsSelectBottomForWeek(Context?: string, Metric?: string, Bottom?: number, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<ContextMetric>>>;
    contextMetricsSelectBottomForWeek(Context?: string, Metric?: string, Bottom?: number, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<ContextMetric>>>;
    /**
     * @param Context
     * @param Metric
     * @param Bottom
     * @param InclusiveRangeStart
     * @param InclusiveRangeEnd
     * @param TenantID
     * @param UserID
     * @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.
     */
    contextMetricsSelectBottomForWeekDay(Context?: string, Metric?: string, Bottom?: number, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<ContextMetric>>;
    contextMetricsSelectBottomForWeekDay(Context?: string, Metric?: string, Bottom?: number, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<ContextMetric>>>;
    contextMetricsSelectBottomForWeekDay(Context?: string, Metric?: string, Bottom?: number, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<ContextMetric>>>;
    /**
     * @param Context
     * @param Metric
     * @param top
     * @param InclusiveRangeStart
     * @param InclusiveRangeEnd
     * @param TenantID
     * @param UserID
     * @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.
     */
    contextMetricsSelectBottomForYear(Context?: string, Metric?: string, top?: number, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<ContextMetric>>;
    contextMetricsSelectBottomForYear(Context?: string, Metric?: string, top?: number, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<ContextMetric>>>;
    contextMetricsSelectBottomForYear(Context?: string, Metric?: string, top?: number, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<ContextMetric>>>;
    /**
     * @param Context
     * @param Metric
     * @param Bottom
     * @param InclusiveRangeStart
     * @param InclusiveRangeEnd
     * @param TenantID
     * @param UserID
     * @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.
     */
    contextMetricsSelectBottomForYearMonthDay(Context?: string, Metric?: string, Bottom?: number, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<ContextMetric>>;
    contextMetricsSelectBottomForYearMonthDay(Context?: string, Metric?: string, Bottom?: number, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<ContextMetric>>>;
    contextMetricsSelectBottomForYearMonthDay(Context?: string, Metric?: string, Bottom?: number, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<ContextMetric>>>;
    /**
     * @param Context
     * @param ContextKey
     * @param Metric
     * @param InclusiveRangeStart
     * @param InclusiveRangeEnd
     * @param TenantID
     * @param UserID
     * @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.
     */
    contextMetricsSelectItemForForDateRange(Context?: string, ContextKey?: number, Metric?: string, InclusiveRangeStart?: Date, InclusiveRangeEnd?: Date, TenantID?: number, UserID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<ContextMetric>>;
    contextMetricsSelectItemForForDateRange(Context?: string, ContextKey?: number, Metric?: string, InclusiveRangeStart?: Date, InclusiveRangeEnd?: Date, TenantID?: number, UserID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<ContextMetric>>>;
    contextMetricsSelectItemForForDateRange(Context?: string, ContextKey?: number, Metric?: string, InclusiveRangeStart?: Date, InclusiveRangeEnd?: Date, TenantID?: number, UserID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<ContextMetric>>>;
    /**
     * @param Context
     * @param ContextKey
     * @param Metric
     * @param InclusiveRangeStart
     * @param InclusiveRangeEnd
     * @param TenantID
     * @param UserID
     * @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.
     */
    contextMetricsSelectItemForHour(Context?: string, ContextKey?: number, Metric?: string, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<ContextMetric>>;
    contextMetricsSelectItemForHour(Context?: string, ContextKey?: number, Metric?: string, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<ContextMetric>>>;
    contextMetricsSelectItemForHour(Context?: string, ContextKey?: number, Metric?: string, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<ContextMetric>>>;
    /**
     * @param Context
     * @param ContextKey
     * @param Metric
     * @param LastNDays
     * @param TenantID
     * @param UserID
     * @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.
     */
    contextMetricsSelectItemForLastNDays(Context?: string, ContextKey?: number, Metric?: string, LastNDays?: number, TenantID?: number, UserID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<ContextMetric>>;
    contextMetricsSelectItemForLastNDays(Context?: string, ContextKey?: number, Metric?: string, LastNDays?: number, TenantID?: number, UserID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<ContextMetric>>>;
    contextMetricsSelectItemForLastNDays(Context?: string, ContextKey?: number, Metric?: string, LastNDays?: number, TenantID?: number, UserID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<ContextMetric>>>;
    /**
     * @param Context
     * @param ContextKey
     * @param Metric
     * @param InclusiveRangeStart
     * @param InclusiveRangeEnd
     * @param TenantID
     * @param UserID
     * @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.
     */
    contextMetricsSelectItemForMonth(Context?: string, ContextKey?: number, Metric?: string, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<ContextMetric>>;
    contextMetricsSelectItemForMonth(Context?: string, ContextKey?: number, Metric?: string, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<ContextMetric>>>;
    contextMetricsSelectItemForMonth(Context?: string, ContextKey?: number, Metric?: string, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<ContextMetric>>>;
    /**
     * @param Context
     * @param ContextKey
     * @param Metric
     * @param InclusiveRangeStart
     * @param InclusiveRangeEnd
     * @param TenantID
     * @param UserID
     * @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.
     */
    contextMetricsSelectItemForWeek(Context?: string, ContextKey?: number, Metric?: string, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<ContextMetric>>;
    contextMetricsSelectItemForWeek(Context?: string, ContextKey?: number, Metric?: string, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<ContextMetric>>>;
    contextMetricsSelectItemForWeek(Context?: string, ContextKey?: number, Metric?: string, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<ContextMetric>>>;
    /**
     * @param Context
     * @param ContextKey
     * @param Metric
     * @param InclusiveRangeStart
     * @param InclusiveRangeEnd
     * @param TenantID
     * @param UserID
     * @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.
     */
    contextMetricsSelectItemForWeekDay(Context?: string, ContextKey?: number, Metric?: string, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<ContextMetric>>;
    contextMetricsSelectItemForWeekDay(Context?: string, ContextKey?: number, Metric?: string, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<ContextMetric>>>;
    contextMetricsSelectItemForWeekDay(Context?: string, ContextKey?: number, Metric?: string, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<ContextMetric>>>;
    /**
     * @param Context
     * @param ContextKey
     * @param Metric
     * @param InclusiveRangeStart
     * @param InclusiveRangeEnd
     * @param TenantID
     * @param UserID
     * @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.
     */
    contextMetricsSelectItemForYear(Context?: string, ContextKey?: number, Metric?: string, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<ContextMetric>>;
    contextMetricsSelectItemForYear(Context?: string, ContextKey?: number, Metric?: string, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<ContextMetric>>>;
    contextMetricsSelectItemForYear(Context?: string, ContextKey?: number, Metric?: string, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<ContextMetric>>>;
    /**
     * @param Context
     * @param ContextKey
     * @param Metric
     * @param InclusiveRangeStart
     * @param InclusiveRangeEnd
     * @param TenantID
     * @param UserID
     * @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.
     */
    contextMetricsSelectItemForYearMonthDay(Context?: string, ContextKey?: number, Metric?: string, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<ContextMetric>>;
    contextMetricsSelectItemForYearMonthDay(Context?: string, ContextKey?: number, Metric?: string, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<ContextMetric>>>;
    contextMetricsSelectItemForYearMonthDay(Context?: string, ContextKey?: number, Metric?: string, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<ContextMetric>>>;
    /**
     * @param Context
     * @param ContextKey
     * @param Metric
     * @param TenantID
     * @param UserID
     * @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.
     */
    contextMetricsSelectItemOverall(Context?: string, ContextKey?: number, Metric?: string, TenantID?: number, UserID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<ContextMetric>>;
    contextMetricsSelectItemOverall(Context?: string, ContextKey?: number, Metric?: string, TenantID?: number, UserID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<ContextMetric>>>;
    contextMetricsSelectItemOverall(Context?: string, ContextKey?: number, Metric?: string, TenantID?: number, UserID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<ContextMetric>>>;
    /**
     * @param Context
     * @param Metric
     * @param Top
     * @param TenantID
     * @param UserID
     * @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.
     */
    contextMetricsSelectLatestOverall(Context?: string, Metric?: string, Top?: number, TenantID?: number, UserID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<ContextMetric>>;
    contextMetricsSelectLatestOverall(Context?: string, Metric?: string, Top?: number, TenantID?: number, UserID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<ContextMetric>>>;
    contextMetricsSelectLatestOverall(Context?: string, Metric?: string, Top?: number, TenantID?: number, UserID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<ContextMetric>>>;
    /**
     * @param Context
     * @param Metric
     * @param Top
     * @param InclusiveRangeStart
     * @param InclusiveRangeEnd
     * @param TenantID
     * @param UserID
     * @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.
     */
    contextMetricsSelectTopForDateRange(Context?: string, Metric?: string, Top?: number, InclusiveRangeStart?: Date, InclusiveRangeEnd?: Date, TenantID?: number, UserID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<ContextMetric>>;
    contextMetricsSelectTopForDateRange(Context?: string, Metric?: string, Top?: number, InclusiveRangeStart?: Date, InclusiveRangeEnd?: Date, TenantID?: number, UserID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<ContextMetric>>>;
    contextMetricsSelectTopForDateRange(Context?: string, Metric?: string, Top?: number, InclusiveRangeStart?: Date, InclusiveRangeEnd?: Date, TenantID?: number, UserID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<ContextMetric>>>;
    /**
     * @param Context
     * @param Metric
     * @param Top
     * @param InclusiveRangeStart
     * @param InclusiveRangeEnd
     * @param TenantID
     * @param UserID
     * @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.
     */
    contextMetricsSelectTopForHour(Context?: string, Metric?: string, Top?: number, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<ContextMetric>>;
    contextMetricsSelectTopForHour(Context?: string, Metric?: string, Top?: number, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<ContextMetric>>>;
    contextMetricsSelectTopForHour(Context?: string, Metric?: string, Top?: number, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<ContextMetric>>>;
    /**
     * @param Context
     * @param Metric
     * @param Top
     * @param InclusiveRangeStart
     * @param InclusiveRangeEnd
     * @param TenantID
     * @param UserID
     * @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.
     */
    contextMetricsSelectTopForMonth(Context?: string, Metric?: string, Top?: number, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<ContextMetric>>;
    contextMetricsSelectTopForMonth(Context?: string, Metric?: string, Top?: number, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<ContextMetric>>>;
    contextMetricsSelectTopForMonth(Context?: string, Metric?: string, Top?: number, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<ContextMetric>>>;
    /**
     * @param Context
     * @param Metric
     * @param Top
     * @param InclusiveRangeStart
     * @param InclusiveRangeEnd
     * @param TenantID
     * @param UserID
     * @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.
     */
    contextMetricsSelectTopForWeek(Context?: string, Metric?: string, Top?: number, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<ContextMetric>>;
    contextMetricsSelectTopForWeek(Context?: string, Metric?: string, Top?: number, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<ContextMetric>>>;
    contextMetricsSelectTopForWeek(Context?: string, Metric?: string, Top?: number, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<ContextMetric>>>;
    /**
     * @param Context
     * @param Metric
     * @param Top
     * @param InclusiveRangeStart
     * @param InclusiveRangeEnd
     * @param TenantID
     * @param UserID
     * @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.
     */
    contextMetricsSelectTopForWeekDay(Context?: string, Metric?: string, Top?: number, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<ContextMetric>>;
    contextMetricsSelectTopForWeekDay(Context?: string, Metric?: string, Top?: number, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<ContextMetric>>>;
    contextMetricsSelectTopForWeekDay(Context?: string, Metric?: string, Top?: number, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<ContextMetric>>>;
    /**
     * @param Context
     * @param Metric
     * @param top
     * @param InclusiveRangeStart
     * @param InclusiveRangeEnd
     * @param TenantID
     * @param UserID
     * @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.
     */
    contextMetricsSelectTopForYear(Context?: string, Metric?: string, top?: number, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<ContextMetric>>;
    contextMetricsSelectTopForYear(Context?: string, Metric?: string, top?: number, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<ContextMetric>>>;
    contextMetricsSelectTopForYear(Context?: string, Metric?: string, top?: number, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<ContextMetric>>>;
    /**
     * @param Context
     * @param Metric
     * @param Top
     * @param InclusiveRangeStart
     * @param InclusiveRangeEnd
     * @param TenantID
     * @param UserID
     * @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.
     */
    contextMetricsSelectTopForYearMonthDay(Context?: string, Metric?: string, Top?: number, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<ContextMetric>>;
    contextMetricsSelectTopForYearMonthDay(Context?: string, Metric?: string, Top?: number, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<ContextMetric>>>;
    contextMetricsSelectTopForYearMonthDay(Context?: string, Metric?: string, Top?: number, InclusiveRangeStart?: number, InclusiveRangeEnd?: number, TenantID?: number, UserID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<ContextMetric>>>;
    /**
     * @param Context
     * @param ContextKey
     * @param Metric
     * @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.
     */
    contextMetricsUpdate(Context?: string, ContextKey?: number, Metric?: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    contextMetricsUpdate(Context?: string, ContextKey?: number, Metric?: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    contextMetricsUpdate(Context?: string, ContextKey?: number, Metric?: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    /**
     * @param Context
     * @param ContextKey
     * @param Metric
     * @param TenantID
     * @param UserID
     * @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.
     */
    contextMetricsUpdateForTenantUser(Context?: string, ContextKey?: number, Metric?: string, TenantID?: number, UserID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    contextMetricsUpdateForTenantUser(Context?: string, ContextKey?: number, Metric?: string, TenantID?: number, UserID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    contextMetricsUpdateForTenantUser(Context?: string, ContextKey?: number, Metric?: string, TenantID?: number, UserID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    /**
     * @param Context
     * @param ContextKey
     * @param Metric
     * @param TenantID
     * @param UserID
     * @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.
     */
    contextMetricsUpdateSimple(Context?: string, ContextKey?: number, Metric?: string, TenantID?: number, UserID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    contextMetricsUpdateSimple(Context?: string, ContextKey?: number, Metric?: string, TenantID?: number, UserID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    contextMetricsUpdateSimple(Context?: string, ContextKey?: number, Metric?: string, TenantID?: number, UserID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<ContextMetricsService, [null, { optional: true; }, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ContextMetricsService>;
}
