/**
 * 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, LookupType, PumpType, WaterUser, WaterUserContract } from '../models/index';
export interface DeleteProjectsWithOfficeContractTypesWithDisplayValueRequest {
    office: string;
    displayValue: string;
}
export interface DeleteProjectsWithOfficeWithProjectIdWaterUserWithWaterUserRequest {
    office: string;
    projectId: string;
    waterUser: string;
    method?: DeleteMethod;
}
export interface DeleteProjectsWithOfficeWithProjectIdWaterUserWithWaterUserContractsWithContractNameRequest {
    office: string;
    projectId: string;
    waterUser: string;
    contractName: string;
    method?: DeleteMethod;
}
export interface DeleteProjectsWithOfficeWithProjectIdWaterUserWithWaterUserContractsWithContractNamePumpsWithNameRequest {
    office: string;
    projectId: string;
    waterUser: string;
    contractName: string;
    name: string;
    pumpType: PumpType;
    deleteAccounting?: boolean;
}
export interface GetProjectsWithOfficeContractTypesRequest {
    office: string;
}
export interface GetProjectsWithOfficeWithProjectIdWaterUserRequest {
    office: string;
    projectId: string;
}
export interface GetProjectsWithOfficeWithProjectIdWaterUserWithWaterUserRequest {
    office: string;
    projectId: string;
    waterUser: string;
}
export interface GetProjectsWithOfficeWithProjectIdWaterUserWithWaterUserContractsRequest {
    office: string;
    projectId: string;
    waterUser: string;
}
export interface GetProjectsWithOfficeWithProjectIdWaterUserWithWaterUserContractsWithContractNameRequest {
    office: string;
    projectId: string;
    waterUser: string;
    contractName: string;
}
export interface PatchProjectsWithOfficeWithProjectIdWaterUserWithWaterUserRequest {
    office: string;
    projectId: string;
    waterUser: string;
    name: string;
    waterUser2: WaterUser;
}
export interface PatchProjectsWithOfficeWithProjectIdWaterUserWithWaterUserContractsWithContractNameRequest {
    office: string;
    projectId: string;
    waterUser: string;
    contractName: string;
    contractName2: string;
    waterUserContract: WaterUserContract;
}
export interface PostProjectsWithOfficeContractTypesRequest {
    office: string;
    lookupType: LookupType;
    failIfExists?: boolean;
}
export interface PostProjectsWithOfficeWithProjectIdWaterUserRequest {
    office: string;
    projectId: string;
    waterUser: WaterUser;
    failIfExists?: boolean;
}
export interface PostProjectsWithOfficeWithProjectIdWaterUserWithWaterUserContractsRequest {
    office: string;
    projectId: string;
    waterUser: string;
    waterUserContract: WaterUserContract;
    failIfExists?: boolean;
    ignoreNulls?: boolean;
}
/**
 *
 */
export declare class WaterContractsApi extends runtime.BaseAPI {
    /**
     * Delete a water contract type
     * Delete cwmsData projects with office contractTypes with displayValue
     */
    deleteProjectsWithOfficeContractTypesWithDisplayValueRaw(requestParameters: DeleteProjectsWithOfficeContractTypesWithDisplayValueRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     * Delete a water contract type
     * Delete cwmsData projects with office contractTypes with displayValue
     */
    deleteProjectsWithOfficeContractTypesWithDisplayValue(requestParameters: DeleteProjectsWithOfficeContractTypesWithDisplayValueRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
    /**
     * Deletes a water user from CWMS.
     * Delete cwmsData projects with office with projectId waterUser with waterUser
     */
    deleteProjectsWithOfficeWithProjectIdWaterUserWithWaterUserRaw(requestParameters: DeleteProjectsWithOfficeWithProjectIdWaterUserWithWaterUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     * Deletes a water user from CWMS.
     * Delete cwmsData projects with office with projectId waterUser with waterUser
     */
    deleteProjectsWithOfficeWithProjectIdWaterUserWithWaterUser(requestParameters: DeleteProjectsWithOfficeWithProjectIdWaterUserWithWaterUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
    /**
     * Delete a specified water contract
     * Delete cwmsData projects with office with projectId waterUser with waterUser contracts with contractName
     */
    deleteProjectsWithOfficeWithProjectIdWaterUserWithWaterUserContractsWithContractNameRaw(requestParameters: DeleteProjectsWithOfficeWithProjectIdWaterUserWithWaterUserContractsWithContractNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     * Delete a specified water contract
     * Delete cwmsData projects with office with projectId waterUser with waterUser contracts with contractName
     */
    deleteProjectsWithOfficeWithProjectIdWaterUserWithWaterUserContractsWithContractName(requestParameters: DeleteProjectsWithOfficeWithProjectIdWaterUserWithWaterUserContractsWithContractNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
    /**
     * Disassociate a pump from a contract
     * Delete cwmsData projects with office with projectId waterUser with waterUser contracts with contractName pumps with name
     */
    deleteProjectsWithOfficeWithProjectIdWaterUserWithWaterUserContractsWithContractNamePumpsWithNameRaw(requestParameters: DeleteProjectsWithOfficeWithProjectIdWaterUserWithWaterUserContractsWithContractNamePumpsWithNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     * Disassociate a pump from a contract
     * Delete cwmsData projects with office with projectId waterUser with waterUser contracts with contractName pumps with name
     */
    deleteProjectsWithOfficeWithProjectIdWaterUserWithWaterUserContractsWithContractNamePumpsWithName(requestParameters: DeleteProjectsWithOfficeWithProjectIdWaterUserWithWaterUserContractsWithContractNamePumpsWithNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
    /**
     * Get all water contract types
     * Get cwmsData projects with office contractTypes
     */
    getProjectsWithOfficeContractTypesRaw(requestParameters: GetProjectsWithOfficeContractTypesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<LookupType>>;
    /**
     * Get all water contract types
     * Get cwmsData projects with office contractTypes
     */
    getProjectsWithOfficeContractTypes(requestParameters: GetProjectsWithOfficeContractTypesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<LookupType>;
    /**
     * Gets all water users.
     * Get cwmsData projects with office with projectId waterUser
     */
    getProjectsWithOfficeWithProjectIdWaterUserRaw(requestParameters: GetProjectsWithOfficeWithProjectIdWaterUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<WaterUser>>;
    /**
     * Gets all water users.
     * Get cwmsData projects with office with projectId waterUser
     */
    getProjectsWithOfficeWithProjectIdWaterUser(requestParameters: GetProjectsWithOfficeWithProjectIdWaterUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<WaterUser>;
    /**
     * Gets a specified water user.
     * Get cwmsData projects with office with projectId waterUser with waterUser
     */
    getProjectsWithOfficeWithProjectIdWaterUserWithWaterUserRaw(requestParameters: GetProjectsWithOfficeWithProjectIdWaterUserWithWaterUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<WaterUserContract>>;
    /**
     * Gets a specified water user.
     * Get cwmsData projects with office with projectId waterUser with waterUser
     */
    getProjectsWithOfficeWithProjectIdWaterUserWithWaterUser(requestParameters: GetProjectsWithOfficeWithProjectIdWaterUserWithWaterUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<WaterUserContract>;
    /**
     * Return all water contracts
     * Get cwmsData projects with office with projectId waterUser with waterUser contracts
     */
    getProjectsWithOfficeWithProjectIdWaterUserWithWaterUserContractsRaw(requestParameters: GetProjectsWithOfficeWithProjectIdWaterUserWithWaterUserContractsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<WaterUserContract>>;
    /**
     * Return all water contracts
     * Get cwmsData projects with office with projectId waterUser with waterUser contracts
     */
    getProjectsWithOfficeWithProjectIdWaterUserWithWaterUserContracts(requestParameters: GetProjectsWithOfficeWithProjectIdWaterUserWithWaterUserContractsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<WaterUserContract>;
    /**
     * Return a specified water contract
     * Get cwmsData projects with office with projectId waterUser with waterUser contracts with contractName
     */
    getProjectsWithOfficeWithProjectIdWaterUserWithWaterUserContractsWithContractNameRaw(requestParameters: GetProjectsWithOfficeWithProjectIdWaterUserWithWaterUserContractsWithContractNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<WaterUserContract>>;
    /**
     * Return a specified water contract
     * Get cwmsData projects with office with projectId waterUser with waterUser contracts with contractName
     */
    getProjectsWithOfficeWithProjectIdWaterUserWithWaterUserContractsWithContractName(requestParameters: GetProjectsWithOfficeWithProjectIdWaterUserWithWaterUserContractsWithContractNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<WaterUserContract>;
    /**
     * Updates a water user in CWMS.
     * Patch cwmsData projects with office with projectId waterUser with waterUser
     */
    patchProjectsWithOfficeWithProjectIdWaterUserWithWaterUserRaw(requestParameters: PatchProjectsWithOfficeWithProjectIdWaterUserWithWaterUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     * Updates a water user in CWMS.
     * Patch cwmsData projects with office with projectId waterUser with waterUser
     */
    patchProjectsWithOfficeWithProjectIdWaterUserWithWaterUser(requestParameters: PatchProjectsWithOfficeWithProjectIdWaterUserWithWaterUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
    /**
     * Renames a water contract
     * Patch cwmsData projects with office with projectId waterUser with waterUser contracts with contractName
     */
    patchProjectsWithOfficeWithProjectIdWaterUserWithWaterUserContractsWithContractNameRaw(requestParameters: PatchProjectsWithOfficeWithProjectIdWaterUserWithWaterUserContractsWithContractNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     * Renames a water contract
     * Patch cwmsData projects with office with projectId waterUser with waterUser contracts with contractName
     */
    patchProjectsWithOfficeWithProjectIdWaterUserWithWaterUserContractsWithContractName(requestParameters: PatchProjectsWithOfficeWithProjectIdWaterUserWithWaterUserContractsWithContractNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
    /**
     * Create a new water contract type
     * Post cwmsData projects with office contractTypes
     */
    postProjectsWithOfficeContractTypesRaw(requestParameters: PostProjectsWithOfficeContractTypesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     * Create a new water contract type
     * Post cwmsData projects with office contractTypes
     */
    postProjectsWithOfficeContractTypes(requestParameters: PostProjectsWithOfficeContractTypesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
    /**
     * Stores a water user to CWMS.
     * Post cwmsData projects with office with projectId waterUser
     */
    postProjectsWithOfficeWithProjectIdWaterUserRaw(requestParameters: PostProjectsWithOfficeWithProjectIdWaterUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     * Stores a water user to CWMS.
     * Post cwmsData projects with office with projectId waterUser
     */
    postProjectsWithOfficeWithProjectIdWaterUser(requestParameters: PostProjectsWithOfficeWithProjectIdWaterUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
    /**
     * Create a new water contract
     * Post cwmsData projects with office with projectId waterUser with waterUser contracts
     */
    postProjectsWithOfficeWithProjectIdWaterUserWithWaterUserContractsRaw(requestParameters: PostProjectsWithOfficeWithProjectIdWaterUserWithWaterUserContractsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     * Create a new water contract
     * Post cwmsData projects with office with projectId waterUser with waterUser contracts
     */
    postProjectsWithOfficeWithProjectIdWaterUserWithWaterUserContracts(requestParameters: PostProjectsWithOfficeWithProjectIdWaterUserWithWaterUserContractsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
}
