/**
 * 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 { DeleteMethod, Embankment } from '../models';
export interface DeleteProjectsEmbankmentsWithNameRequest {
    name: string;
    office: string;
    method?: DeleteMethod;
}
export interface GetProjectsEmbankmentsRequest {
    projectId: string;
    office?: string;
}
export interface GetProjectsEmbankmentsWithNameRequest {
    name: string;
    office: string;
}
export interface PatchProjectsEmbankmentsWithNameRequest {
    name: string;
    name2: string;
    office: string;
}
export interface PostProjectsEmbankmentsRequest {
    embankment: Embankment;
    failIfExists?: boolean;
}
/**
 *
 */
export declare class EmbankmentsApi extends runtime.BaseAPI {
    /**
     * Delete CWMS Embankment
     * Delete projects embankments with name
     */
    deleteProjectsEmbankmentsWithNameRaw(requestParameters: DeleteProjectsEmbankmentsWithNameRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<void>>;
    /**
     * Delete CWMS Embankment
     * Delete projects embankments with name
     */
    deleteProjectsEmbankmentsWithName(requestParameters: DeleteProjectsEmbankmentsWithNameRequest, initOverrides?: RequestInit): Promise<void>;
    /**
     * Returns matching CWMS Embankment Data for a Reservoir Project.
     * Get projects embankments
     */
    getProjectsEmbankmentsRaw(requestParameters: GetProjectsEmbankmentsRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<Array<Embankment>>>;
    /**
     * Returns matching CWMS Embankment Data for a Reservoir Project.
     * Get projects embankments
     */
    getProjectsEmbankments(requestParameters: GetProjectsEmbankmentsRequest, initOverrides?: RequestInit): Promise<Array<Embankment>>;
    /**
     * Returns CWMS Embankment Data
     * Get projects embankments with name
     */
    getProjectsEmbankmentsWithNameRaw(requestParameters: GetProjectsEmbankmentsWithNameRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<Array<Embankment>>>;
    /**
     * Returns CWMS Embankment Data
     * Get projects embankments with name
     */
    getProjectsEmbankmentsWithName(requestParameters: GetProjectsEmbankmentsWithNameRequest, initOverrides?: RequestInit): Promise<Array<Embankment>>;
    /**
     * Rename CWMS Embankment
     * Patch projects embankments with name
     */
    patchProjectsEmbankmentsWithNameRaw(requestParameters: PatchProjectsEmbankmentsWithNameRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<void>>;
    /**
     * Rename CWMS Embankment
     * Patch projects embankments with name
     */
    patchProjectsEmbankmentsWithName(requestParameters: PatchProjectsEmbankmentsWithNameRequest, initOverrides?: RequestInit): Promise<void>;
    /**
     * Create CWMS Embankment
     * Post projects embankments
     */
    postProjectsEmbankmentsRaw(requestParameters: PostProjectsEmbankmentsRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<void>>;
    /**
     * Create CWMS Embankment
     * Post projects embankments
     */
    postProjectsEmbankments(requestParameters: PostProjectsEmbankmentsRequest, initOverrides?: RequestInit): Promise<void>;
}
