/**
 * CWMS Data API
 * CWMS REST API for Data Retrieval
 *
 * The version of the OpenAPI document: 2.3.2-2025.03.19
 *
 *
 * 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 type { Measurement } from '../models/index';
export interface DeleteMeasurementsWithLocationIdRequest {
    locationId: string;
    office: string;
    begin: string;
    end: string;
    timezone?: string;
    minNumber?: string;
    maxNumber?: string;
}
export interface GetMeasurementsRequest {
    officeMask?: string;
    idMask?: string;
    minNumber?: string;
    maxNumber?: string;
    begin?: string;
    end?: string;
    timezone?: string;
    minHeight?: string;
    maxHeight?: string;
    minFlow?: string;
    maxFlow?: string;
    agency?: string;
    quality?: string;
    unitSystem?: string;
}
export interface PostMeasurementsRequest {
    measurement: Array<Measurement>;
    failIfExists?: boolean;
}
/**
 *
 */
export declare class MeasurementsApi extends runtime.BaseAPI {
    /**
     * Delete an existing measurement.
     * Delete cwmsData measurements with locationId
     */
    deleteMeasurementsWithLocationIdRaw(requestParameters: DeleteMeasurementsWithLocationIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     * Delete an existing measurement.
     * Delete cwmsData measurements with locationId
     */
    deleteMeasurementsWithLocationId(requestParameters: DeleteMeasurementsWithLocationIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
    /**
     * Returns matching measurement data.
     * Get cwmsData measurements
     */
    getMeasurementsRaw(requestParameters: GetMeasurementsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<Measurement>>>;
    /**
     * Returns matching measurement data.
     * Get cwmsData measurements
     */
    getMeasurements(requestParameters?: GetMeasurementsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<Measurement>>;
    /**
     * Create new measurement(s).
     * Post cwmsData measurements
     */
    postMeasurementsRaw(requestParameters: PostMeasurementsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     * Create new measurement(s).
     * Post cwmsData measurements
     */
    postMeasurements(requestParameters: PostMeasurementsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
}
