/**
 * 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 { StreamLocation } from '../models/index';
export interface DeleteStreamLocationsWithNameRequest {
    name: string;
    office: string;
    streamId: string;
}
export interface GetStreamLocationsRequest {
    officeMask?: string;
    streamIdMask?: string;
    nameMask?: string;
    stationUnit?: string;
    stageUnit?: string;
    areaUnit?: string;
}
export interface GetStreamLocationsWithNameRequest {
    name: string;
    office: string;
    streamId: string;
    stationUnit?: string;
    stageUnit?: string;
    areaUnit?: string;
}
export interface GetStreamLocationsWithOfficeWithNameDownstreamLocationsRequest {
    office: string;
    name: string;
    allDownstream?: boolean;
    sameStreamOnly?: boolean;
    stationUnit?: string;
    stageUnit?: string;
    areaUnit?: string;
}
export interface GetStreamLocationsWithOfficeWithNameUpstreamLocationsRequest {
    office: string;
    name: string;
    allUpstream?: boolean;
    sameStreamOnly?: boolean;
    stationUnit?: string;
    stageUnit?: string;
    areaUnit?: string;
}
export interface PatchStreamLocationsWithNameRequest {
    name: string;
    streamLocation: StreamLocation;
}
export interface PostStreamLocationsRequest {
    streamLocation: StreamLocation;
    failIfExists?: boolean;
}
/**
 *
 */
export declare class StreamLocationsApi extends runtime.BaseAPI {
    /**
     * Delete CWMS Stream Location
     * Delete cwmsData streamLocations with name
     */
    deleteStreamLocationsWithNameRaw(requestParameters: DeleteStreamLocationsWithNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     * Delete CWMS Stream Location
     * Delete cwmsData streamLocations with name
     */
    deleteStreamLocationsWithName(requestParameters: DeleteStreamLocationsWithNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
    /**
     * Returns matching CWMS Stream Location Data for a Reservoir Project.
     * Get cwmsData streamLocations
     */
    getStreamLocationsRaw(requestParameters: GetStreamLocationsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<StreamLocation>>>;
    /**
     * Returns matching CWMS Stream Location Data for a Reservoir Project.
     * Get cwmsData streamLocations
     */
    getStreamLocations(requestParameters?: GetStreamLocationsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<StreamLocation>>;
    /**
     * Returns CWMS Stream Location Data
     * Get cwmsData streamLocations with name
     */
    getStreamLocationsWithNameRaw(requestParameters: GetStreamLocationsWithNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<StreamLocation>>>;
    /**
     * Returns CWMS Stream Location Data
     * Get cwmsData streamLocations with name
     */
    getStreamLocationsWithName(requestParameters: GetStreamLocationsWithNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<StreamLocation>>;
    /**
     * Returns matching downstream stream locations.
     * Get cwmsData streamLocations with office with name downstreamLocations
     */
    getStreamLocationsWithOfficeWithNameDownstreamLocationsRaw(requestParameters: GetStreamLocationsWithOfficeWithNameDownstreamLocationsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<StreamLocation>>>;
    /**
     * Returns matching downstream stream locations.
     * Get cwmsData streamLocations with office with name downstreamLocations
     */
    getStreamLocationsWithOfficeWithNameDownstreamLocations(requestParameters: GetStreamLocationsWithOfficeWithNameDownstreamLocationsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<StreamLocation>>;
    /**
     * Returns matching upstream stream locations.
     * Get cwmsData streamLocations with office with name upstreamLocations
     */
    getStreamLocationsWithOfficeWithNameUpstreamLocationsRaw(requestParameters: GetStreamLocationsWithOfficeWithNameUpstreamLocationsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<StreamLocation>>>;
    /**
     * Returns matching upstream stream locations.
     * Get cwmsData streamLocations with office with name upstreamLocations
     */
    getStreamLocationsWithOfficeWithNameUpstreamLocations(requestParameters: GetStreamLocationsWithOfficeWithNameUpstreamLocationsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<StreamLocation>>;
    /**
     * Update CWMS Stream Location
     * Patch cwmsData streamLocations with name
     */
    patchStreamLocationsWithNameRaw(requestParameters: PatchStreamLocationsWithNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     * Update CWMS Stream Location
     * Patch cwmsData streamLocations with name
     */
    patchStreamLocationsWithName(requestParameters: PatchStreamLocationsWithNameRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
    /**
     * Create CWMS Stream Location
     * Post cwmsData streamLocations
     */
    postStreamLocationsRaw(requestParameters: PostStreamLocationsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<void>>;
    /**
     * Create CWMS Stream Location
     * Post cwmsData streamLocations
     */
    postStreamLocations(requestParameters: PostStreamLocationsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
}
