/**
 * 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 { DeleteMethod, Turbine, TurbineChange, UnitSystem } from '../models/index';
export interface DeleteProjectsTurbinesWithNameRequest {
    name: string;
    office: string;
    method?: DeleteMethod;
}
export interface DeleteProjectsWithOfficeWithNameTurbineChangesRequest {
    office: string;
    name: string;
    begin: string;
    end: string;
    overrideProtection?: boolean;
}
export interface GetProjectsTurbinesRequest {
    office: string;
    projectId: string;
}
export interface GetProjectsTurbinesWithNameRequest {
    name: string;
    office: string;
}
export interface GetProjectsWithOfficeWithNameTurbineChangesRequest {
    office: string;
    name: string;
    begin: string;
    end: string;
    startTimeInclusive?: boolean;
    endTimeInclusive?: boolean;
    unitSystem?: UnitSystem;
    pageSize?: number;
}
export interface PatchProjectsTurbinesWithNameRequest {
    name: string;
    name2: string;
    office: string;
}
export interface PostProjectsTurbinesRequest {
    turbine: Turbine;
    failIfExists?: boolean;
}
export interface PostProjectsWithOfficeWithNameTurbineChangesRequest {
    office: string;
    name: string;
    turbineChange: TurbineChange;
    overrideProtection?: boolean;
}
/**
 *
 */
export declare class TurbinesApi extends runtime.BaseAPI {
    /**
     * Delete CWMS Turbine
     * Delete cwmsData projects turbines with name
     */
    deleteProjectsTurbinesWithNameRaw(requestParameters: DeleteProjectsTurbinesWithNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     * Delete CWMS Turbine
     * Delete cwmsData projects turbines with name
     */
    deleteProjectsTurbinesWithName(requestParameters: DeleteProjectsTurbinesWithNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
    /**
     * Delete CWMS Turbine Changes
     * Delete cwmsData projects with office with name turbineChanges
     */
    deleteProjectsWithOfficeWithNameTurbineChangesRaw(requestParameters: DeleteProjectsWithOfficeWithNameTurbineChangesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     * Delete CWMS Turbine Changes
     * Delete cwmsData projects with office with name turbineChanges
     */
    deleteProjectsWithOfficeWithNameTurbineChanges(requestParameters: DeleteProjectsWithOfficeWithNameTurbineChangesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
    /**
     * Returns matching CWMS Turbine Data for a Reservoir Project.
     * Get cwmsData projects turbines
     */
    getProjectsTurbinesRaw(requestParameters: GetProjectsTurbinesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<Turbine>>>;
    /**
     * Returns matching CWMS Turbine Data for a Reservoir Project.
     * Get cwmsData projects turbines
     */
    getProjectsTurbines(requestParameters: GetProjectsTurbinesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<Turbine>>;
    /**
     * Returns CWMS Turbine Data
     * Get cwmsData projects turbines with name
     */
    getProjectsTurbinesWithNameRaw(requestParameters: GetProjectsTurbinesWithNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Turbine>>;
    /**
     * Returns CWMS Turbine Data
     * Get cwmsData projects turbines with name
     */
    getProjectsTurbinesWithName(requestParameters: GetProjectsTurbinesWithNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Turbine>;
    /**
     * Returns matching CWMS Turbine Change Data for a Reservoir Project.
     * Get cwmsData projects with office with name turbineChanges
     */
    getProjectsWithOfficeWithNameTurbineChangesRaw(requestParameters: GetProjectsWithOfficeWithNameTurbineChangesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<TurbineChange>>>;
    /**
     * Returns matching CWMS Turbine Change Data for a Reservoir Project.
     * Get cwmsData projects with office with name turbineChanges
     */
    getProjectsWithOfficeWithNameTurbineChanges(requestParameters: GetProjectsWithOfficeWithNameTurbineChangesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<TurbineChange>>;
    /**
     * Rename CWMS Turbine
     * Patch cwmsData projects turbines with name
     */
    patchProjectsTurbinesWithNameRaw(requestParameters: PatchProjectsTurbinesWithNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     * Rename CWMS Turbine
     * Patch cwmsData projects turbines with name
     */
    patchProjectsTurbinesWithName(requestParameters: PatchProjectsTurbinesWithNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
    /**
     * Create CWMS Turbine
     * Post cwmsData projects turbines
     */
    postProjectsTurbinesRaw(requestParameters: PostProjectsTurbinesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     * Create CWMS Turbine
     * Post cwmsData projects turbines
     */
    postProjectsTurbines(requestParameters: PostProjectsTurbinesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
    /**
     * Create CWMS Turbine Changes
     * Post cwmsData projects with office with name turbineChanges
     */
    postProjectsWithOfficeWithNameTurbineChangesRaw(requestParameters: PostProjectsWithOfficeWithNameTurbineChangesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     * Create CWMS Turbine Changes
     * Post cwmsData projects with office with name turbineChanges
     */
    postProjectsWithOfficeWithNameTurbineChanges(requestParameters: PostProjectsWithOfficeWithNameTurbineChangesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
}
