/**
 * 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 { LocationLevel, SpecifiedLevel, TimeSeries } from '../models/index';
export interface DeleteLevelsWithLevelIdRequest {
    levelId: string;
    cascadeDelete?: boolean;
    office?: string;
    effectiveDate?: string;
    timezone?: string;
}
export interface DeleteSpecifiedLevelsWithSpecifiedLevelIdRequest {
    specifiedLevelId: string;
    office: string;
}
export interface GetLevelsRequest {
    levelIdMask?: string;
    office?: string;
    unit?: string;
    datum?: string;
    begin?: string;
    end?: string;
    timezone?: string;
    format?: string;
    page?: string;
    pageSize?: number;
}
export interface GetLevelsWithLevelIdRequest {
    levelId: string;
    office: string;
    effectiveDate: string;
    timezone?: string;
    unit?: string;
}
export interface GetLevelsWithLevelIdTimeSeriesRequest {
    levelId: string;
    office: string;
    unit: string;
    interval?: string;
    begin?: string;
    end?: string;
    timezone?: string;
}
export interface GetSpecifiedLevelsRequest {
    office?: string;
    templateIdMask?: string;
}
export interface PatchLevelsWithLevelIdRequest {
    levelId: string;
    locationLevel: LocationLevel;
    effectiveDate?: string;
}
export interface PatchSpecifiedLevelsWithSpecifiedLevelIdRequest {
    specifiedLevelId: string;
    specifiedLevelId2: string;
    office: string;
}
export interface PostLevelsRequest {
    locationLevel: LocationLevel;
}
export interface PostSpecifiedLevelsRequest {
    specifiedLevel: SpecifiedLevel;
    failIfExists?: boolean;
}
/**
 *
 */
export declare class LevelsApi extends runtime.BaseAPI {
    /**
     * Delete CWMS Location Level
     * Delete cwmsData levels with levelId
     */
    deleteLevelsWithLevelIdRaw(requestParameters: DeleteLevelsWithLevelIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     * Delete CWMS Location Level
     * Delete cwmsData levels with levelId
     */
    deleteLevelsWithLevelId(requestParameters: DeleteLevelsWithLevelIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
    /**
     * Deletes requested specified level id
     * Delete cwmsData specifiedLevels with specifiedLevelId
     */
    deleteSpecifiedLevelsWithSpecifiedLevelIdRaw(requestParameters: DeleteSpecifiedLevelsWithSpecifiedLevelIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     * Deletes requested specified level id
     * Delete cwmsData specifiedLevels with specifiedLevelId
     */
    deleteSpecifiedLevelsWithSpecifiedLevelId(requestParameters: DeleteSpecifiedLevelsWithSpecifiedLevelIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
    /**
     * Get cwmsData levels
     */
    getLevelsRaw(requestParameters: GetLevelsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<object>>;
    /**
     * Get cwmsData levels
     */
    getLevels(requestParameters?: GetLevelsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<object>;
    /**
     * Retrieves requested Location Level
     * Get cwmsData levels with levelId
     */
    getLevelsWithLevelIdRaw(requestParameters: GetLevelsWithLevelIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<LocationLevel>>;
    /**
     * Retrieves requested Location Level
     * Get cwmsData levels with levelId
     */
    getLevelsWithLevelId(requestParameters: GetLevelsWithLevelIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<LocationLevel>;
    /**
     * Retrieves requested Location Level
     * Get cwmsData levels with levelId timeseries
     */
    getLevelsWithLevelIdTimeSeriesRaw(requestParameters: GetLevelsWithLevelIdTimeSeriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<TimeSeries>>;
    /**
     * Retrieves requested Location Level
     * Get cwmsData levels with levelId timeseries
     */
    getLevelsWithLevelIdTimeSeries(requestParameters: GetLevelsWithLevelIdTimeSeriesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<TimeSeries>;
    /**
     * Get cwmsData specifiedLevels
     */
    getSpecifiedLevelsRaw(requestParameters: GetSpecifiedLevelsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SpecifiedLevel>>;
    /**
     * Get cwmsData specifiedLevels
     */
    getSpecifiedLevels(requestParameters?: GetSpecifiedLevelsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SpecifiedLevel>;
    /**
     * Update CWMS Location Level
     * Patch cwmsData levels with levelId
     */
    patchLevelsWithLevelIdRaw(requestParameters: PatchLevelsWithLevelIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     * Update CWMS Location Level
     * Patch cwmsData levels with levelId
     */
    patchLevelsWithLevelId(requestParameters: PatchLevelsWithLevelIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
    /**
     * Renames the requested specified level id
     * Patch cwmsData specifiedLevels with specifiedLevelId
     */
    patchSpecifiedLevelsWithSpecifiedLevelIdRaw(requestParameters: PatchSpecifiedLevelsWithSpecifiedLevelIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     * Renames the requested specified level id
     * Patch cwmsData specifiedLevels with specifiedLevelId
     */
    patchSpecifiedLevelsWithSpecifiedLevelId(requestParameters: PatchSpecifiedLevelsWithSpecifiedLevelIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
    /**
     * Create new CWMS Location Level
     * Post cwmsData levels
     */
    postLevelsRaw(requestParameters: PostLevelsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     * Create new CWMS Location Level
     * Post cwmsData levels
     */
    postLevels(requestParameters: PostLevelsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
    /**
     * Create new SpecifiedLevel
     * Post cwmsData specifiedLevels
     */
    postSpecifiedLevelsRaw(requestParameters: PostSpecifiedLevelsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     * Create new SpecifiedLevel
     * Post cwmsData specifiedLevels
     */
    postSpecifiedLevels(requestParameters: PostSpecifiedLevelsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
}
