/**
 * CWMS Data API
 * CWMS REST API for Data Retrieval
 *
 * The version of the OpenAPI document: 2.4.0-2026.3.16
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import * as runtime from '../runtime';
import { DatabaseLoadMethod, DeleteMethod, RateInputTimeSeries, RateInputValues, RatedOutputTimeSeries, RatedOutputValues, RatingEffectiveDatesMap, RatingMetadataList, RatingSpec, RatingSpecs, RatingTemplate, RatingTemplates } from '../models';
export interface DeleteRatingsSpecWithRatingIdRequest {
    ratingId: string;
    office: string;
    method: DeleteMethod;
}
export interface DeleteRatingsTemplateWithTemplateIdRequest {
    templateId: string;
    office: string;
    method: DeleteMethod;
}
export interface DeleteRatingsWithRatingIdRequest {
    ratingId: string;
    office: string;
    begin: string;
    end: string;
    timezone?: string;
}
export interface GetRatingsRequest {
    name?: string;
    office?: string;
    unit?: string;
    datum?: string;
    at?: string;
    end?: string;
    timezone?: string;
    format?: string;
}
export interface GetRatingsEffectiveDatesRequest {
    officeMask?: string;
    ratingIdMask?: string;
    timezone?: string;
    begin?: string;
    end?: string;
}
export interface GetRatingsMetadataRequest {
    office?: string;
    ratingIdMask?: string;
    start?: string;
    end?: string;
    timezone?: string;
    page?: string;
    pageSize?: number;
}
export interface GetRatingsSpecRequest {
    office?: string;
    ratingIdMask?: string;
    page?: string;
    pageSize?: number;
}
export interface GetRatingsSpecWithRatingIdRequest {
    ratingId: string;
    office: string;
}
export interface GetRatingsTemplateRequest {
    office?: string;
    templateIdMask?: string;
    page?: string;
    pageSize?: number;
}
export interface GetRatingsTemplateWithTemplateIdRequest {
    templateId: string;
    office: string;
}
export interface GetRatingsWithRatingIdRequest {
    ratingId: string;
    office: string;
    begin?: string;
    end?: string;
    timezone?: string;
    method?: DatabaseLoadMethod;
}
export interface GetRatingsWithRatingIdLatestRequest {
    ratingId: string;
    office: string;
}
export interface PatchRatingsWithRatingIdRequest {
    ratingId: string;
    body: object;
    storeTemplate?: boolean;
    replaceBaseCurve?: boolean;
}
export interface PostRatingsRequest {
    body: object;
    storeTemplate?: boolean;
}
export interface PostRatingsRateTsWithOfficeWithRatingIdRequest {
    office: string;
    ratingId: string;
    rateInputTimeSeries: RateInputTimeSeries;
}
export interface PostRatingsRateValuesWithOfficeWithRatingIdRequest {
    office: string;
    ratingId: string;
    rateInputValues: RateInputValues;
}
export interface PostRatingsReverseRateTsWithOfficeWithRatingIdRequest {
    office: string;
    ratingId: string;
    rateInputTimeSeries: RateInputTimeSeries;
}
export interface PostRatingsReverseRateValuesWithOfficeWithRatingIdRequest {
    office: string;
    ratingId: string;
    rateInputValues: RateInputValues;
}
export interface PostRatingsSpecRequest {
    ratingSpec: RatingSpec;
    failIfExists?: boolean;
}
export interface PostRatingsTemplateRequest {
    ratingTemplate: RatingTemplate;
    failIfExists?: boolean;
}
/**
 *
 */
export declare class RatingsApi extends runtime.BaseAPI {
    /**
     * Deletes requested rating specification
     * Delete ratings spec with ratingId
     */
    deleteRatingsSpecWithRatingIdRaw(requestParameters: DeleteRatingsSpecWithRatingIdRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<void>>;
    /**
     * Deletes requested rating specification
     * Delete ratings spec with ratingId
     */
    deleteRatingsSpecWithRatingId(requestParameters: DeleteRatingsSpecWithRatingIdRequest, initOverrides?: RequestInit): Promise<void>;
    /**
     * Deletes requested rating specification
     * Delete ratings template with templateId
     */
    deleteRatingsTemplateWithTemplateIdRaw(requestParameters: DeleteRatingsTemplateWithTemplateIdRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<void>>;
    /**
     * Deletes requested rating specification
     * Delete ratings template with templateId
     */
    deleteRatingsTemplateWithTemplateId(requestParameters: DeleteRatingsTemplateWithTemplateIdRequest, initOverrides?: RequestInit): Promise<void>;
    /**
     * Delete ratings with ratingId
     */
    deleteRatingsWithRatingIdRaw(requestParameters: DeleteRatingsWithRatingIdRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<void>>;
    /**
     * Delete ratings with ratingId
     */
    deleteRatingsWithRatingId(requestParameters: DeleteRatingsWithRatingIdRequest, initOverrides?: RequestInit): Promise<void>;
    /**
     * Get ratings
     */
    getRatingsRaw(requestParameters: GetRatingsRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<object>>;
    /**
     * Get ratings
     */
    getRatings(requestParameters?: GetRatingsRequest, initOverrides?: RequestInit): Promise<object>;
    /**
     * Returns mapping of office -> spec id -> effective date-times for all matching offices and spec ids.
     * Get ratings effectiveDates
     */
    getRatingsEffectiveDatesRaw(requestParameters: GetRatingsEffectiveDatesRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RatingEffectiveDatesMap>>;
    /**
     * Returns mapping of office -> spec id -> effective date-times for all matching offices and spec ids.
     * Get ratings effectiveDates
     */
    getRatingsEffectiveDates(requestParameters?: GetRatingsEffectiveDatesRequest, initOverrides?: RequestInit): Promise<RatingEffectiveDatesMap>;
    /**
     * Get ratings metadata
     */
    getRatingsMetadataRaw(requestParameters: GetRatingsMetadataRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RatingMetadataList>>;
    /**
     * Get ratings metadata
     */
    getRatingsMetadata(requestParameters?: GetRatingsMetadataRequest, initOverrides?: RequestInit): Promise<RatingMetadataList>;
    /**
     * Get ratings spec
     */
    getRatingsSpecRaw(requestParameters: GetRatingsSpecRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RatingSpecs>>;
    /**
     * Get ratings spec
     */
    getRatingsSpec(requestParameters?: GetRatingsSpecRequest, initOverrides?: RequestInit): Promise<RatingSpecs>;
    /**
     * Get ratings spec with ratingId
     */
    getRatingsSpecWithRatingIdRaw(requestParameters: GetRatingsSpecWithRatingIdRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RatingSpec>>;
    /**
     * Get ratings spec with ratingId
     */
    getRatingsSpecWithRatingId(requestParameters: GetRatingsSpecWithRatingIdRequest, initOverrides?: RequestInit): Promise<RatingSpec>;
    /**
     * Get ratings template
     */
    getRatingsTemplateRaw(requestParameters: GetRatingsTemplateRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RatingTemplates>>;
    /**
     * Get ratings template
     */
    getRatingsTemplate(requestParameters?: GetRatingsTemplateRequest, initOverrides?: RequestInit): Promise<RatingTemplates>;
    /**
     * Get ratings template with templateId
     */
    getRatingsTemplateWithTemplateIdRaw(requestParameters: GetRatingsTemplateWithTemplateIdRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<Array<RatingTemplate>>>;
    /**
     * Get ratings template with templateId
     */
    getRatingsTemplateWithTemplateId(requestParameters: GetRatingsTemplateWithTemplateIdRequest, initOverrides?: RequestInit): Promise<Array<RatingTemplate>>;
    /**
     * Returns CWMS Rating Data. Supports accept header formatting. For more information about accept header usage, <a href=\"legacy-format/\">see this page.</a>
     * Get ratings with ratingId
     */
    getRatingsWithRatingIdRaw(requestParameters: GetRatingsWithRatingIdRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<object>>;
    /**
     * Returns CWMS Rating Data. Supports accept header formatting. For more information about accept header usage, <a href=\"legacy-format/\">see this page.</a>
     * Get ratings with ratingId
     */
    getRatingsWithRatingId(requestParameters: GetRatingsWithRatingIdRequest, initOverrides?: RequestInit): Promise<object>;
    /**
     * Returns CWMS Rating Data
     * Get ratings with ratingId latest
     */
    getRatingsWithRatingIdLatestRaw(requestParameters: GetRatingsWithRatingIdLatestRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<object>>;
    /**
     * Returns CWMS Rating Data
     * Get ratings with ratingId latest
     */
    getRatingsWithRatingIdLatest(requestParameters: GetRatingsWithRatingIdLatestRequest, initOverrides?: RequestInit): Promise<object>;
    /**
     * Update a RatingSet
     * Patch ratings with ratingId
     */
    patchRatingsWithRatingIdRaw(requestParameters: PatchRatingsWithRatingIdRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<void>>;
    /**
     * Update a RatingSet
     * Patch ratings with ratingId
     */
    patchRatingsWithRatingId(requestParameters: PatchRatingsWithRatingIdRequest, initOverrides?: RequestInit): Promise<void>;
    /**
     * Create new RatingSet
     * Post ratings
     */
    postRatingsRaw(requestParameters: PostRatingsRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<void>>;
    /**
     * Create new RatingSet
     * Post ratings
     */
    postRatings(requestParameters: PostRatingsRequest, initOverrides?: RequestInit): Promise<void>;
    /**
     * Rates input values using CWMS ratings. The input format `RateInputTimeSeries` DTO supports an array of CWMS time series ids, each corresponding to an independent parameter in the rating curve.The output format `RatedOutputTimeSeries` will contain a singular double array corresponding to the dependent parameter of the rating curve.
     * Post ratings rateTs with office with ratingId
     */
    postRatingsRateTsWithOfficeWithRatingIdRaw(requestParameters: PostRatingsRateTsWithOfficeWithRatingIdRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RatedOutputTimeSeries>>;
    /**
     * Rates input values using CWMS ratings. The input format `RateInputTimeSeries` DTO supports an array of CWMS time series ids, each corresponding to an independent parameter in the rating curve.The output format `RatedOutputTimeSeries` will contain a singular double array corresponding to the dependent parameter of the rating curve.
     * Post ratings rateTs with office with ratingId
     */
    postRatingsRateTsWithOfficeWithRatingId(requestParameters: PostRatingsRateTsWithOfficeWithRatingIdRequest, initOverrides?: RequestInit): Promise<RatedOutputTimeSeries>;
    /**
     * Rates input values using CWMS ratings. The input format `RatingInputValues` includes a two dimensional array with each dimension corresponding to an independent parameter in the rating curve. The output format `RatedOutputTimeSeries` will contain a singular double array corresponding to the dependent parameter of the rating curve.
     * Post ratings rateValues with office with ratingId
     */
    postRatingsRateValuesWithOfficeWithRatingIdRaw(requestParameters: PostRatingsRateValuesWithOfficeWithRatingIdRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RatedOutputValues>>;
    /**
     * Rates input values using CWMS ratings. The input format `RatingInputValues` includes a two dimensional array with each dimension corresponding to an independent parameter in the rating curve. The output format `RatedOutputTimeSeries` will contain a singular double array corresponding to the dependent parameter of the rating curve.
     * Post ratings rateValues with office with ratingId
     */
    postRatingsRateValuesWithOfficeWithRatingId(requestParameters: PostRatingsRateValuesWithOfficeWithRatingIdRequest, initOverrides?: RequestInit): Promise<RatedOutputValues>;
    /**
     * Reverse rates input values using CWMS ratings. The input format `RateInputTimeSeries` requires a singular time series id corresponding to the dependent parameter in the rating curve. The output format `RatedOutputTimeSeries` will contain a singular double array corresponding to the independent parameter of the rating curve. Note: This endpoint only works on monotonically increase/decreasing table ratings with a single independent parameter.
     * Post ratings reverseRateTs with office with ratingId
     */
    postRatingsReverseRateTsWithOfficeWithRatingIdRaw(requestParameters: PostRatingsReverseRateTsWithOfficeWithRatingIdRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RatedOutputTimeSeries>>;
    /**
     * Reverse rates input values using CWMS ratings. The input format `RateInputTimeSeries` requires a singular time series id corresponding to the dependent parameter in the rating curve. The output format `RatedOutputTimeSeries` will contain a singular double array corresponding to the independent parameter of the rating curve. Note: This endpoint only works on monotonically increase/decreasing table ratings with a single independent parameter.
     * Post ratings reverseRateTs with office with ratingId
     */
    postRatingsReverseRateTsWithOfficeWithRatingId(requestParameters: PostRatingsReverseRateTsWithOfficeWithRatingIdRequest, initOverrides?: RequestInit): Promise<RatedOutputTimeSeries>;
    /**
     * Reverse rates input values using CWMS ratings. The input format `RateInputValues` requires a singular array of doubles corresponding to the dependent parameter in the rating curve. The output format `RatedOutputValues` will contain a singular double array corresponding to the independent parameter of the rating curve. Note: This endpoint only works on monotonically increase/decreasing table ratings with a single independent parameter.
     * Post ratings reverseRateValues with office with ratingId
     */
    postRatingsReverseRateValuesWithOfficeWithRatingIdRaw(requestParameters: PostRatingsReverseRateValuesWithOfficeWithRatingIdRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<RatedOutputValues>>;
    /**
     * Reverse rates input values using CWMS ratings. The input format `RateInputValues` requires a singular array of doubles corresponding to the dependent parameter in the rating curve. The output format `RatedOutputValues` will contain a singular double array corresponding to the independent parameter of the rating curve. Note: This endpoint only works on monotonically increase/decreasing table ratings with a single independent parameter.
     * Post ratings reverseRateValues with office with ratingId
     */
    postRatingsReverseRateValuesWithOfficeWithRatingId(requestParameters: PostRatingsReverseRateValuesWithOfficeWithRatingIdRequest, initOverrides?: RequestInit): Promise<RatedOutputValues>;
    /**
     * Create new Rating Specification
     * Post ratings spec
     */
    postRatingsSpecRaw(requestParameters: PostRatingsSpecRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<void>>;
    /**
     * Create new Rating Specification
     * Post ratings spec
     */
    postRatingsSpec(requestParameters: PostRatingsSpecRequest, initOverrides?: RequestInit): Promise<void>;
    /**
     * Create new Rating Template
     * Post ratings template
     */
    postRatingsTemplateRaw(requestParameters: PostRatingsTemplateRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<void>>;
    /**
     * Create new Rating Template
     * Post ratings template
     */
    postRatingsTemplate(requestParameters: PostRatingsTemplateRequest, initOverrides?: RequestInit): Promise<void>;
}
