/**
 * 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 { LocationGroup } from '../models';
export interface DeleteLocationGroupWithGroupIdRequest {
    groupId: string;
    categoryId: string;
    office: string;
    cascadeDelete?: boolean;
}
export interface GetLocationGroupRequest {
    categoryOfficeId: string;
    locationOfficeId: string;
    office?: string;
    includeAssigned?: boolean;
    locationCategoryLike?: string;
}
export interface GetLocationGroupWithGroupIdRequest {
    groupId: string;
    office: string;
    groupOfficeId: string;
    categoryOfficeId: string;
    categoryId: string;
}
export interface PatchLocationGroupWithGroupIdRequest {
    groupId: string;
    office: string;
    locationGroup: LocationGroup;
    replaceAssignedLocs?: boolean;
}
export interface PostLocationGroupRequest {
    locationGroup: LocationGroup;
}
/**
 *
 */
export declare class LocationGroupsApi extends runtime.BaseAPI {
    /**
     * Deletes requested location group
     * Delete location group with groupId
     */
    deleteLocationGroupWithGroupIdRaw(requestParameters: DeleteLocationGroupWithGroupIdRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<void>>;
    /**
     * Deletes requested location group
     * Delete location group with groupId
     */
    deleteLocationGroupWithGroupId(requestParameters: DeleteLocationGroupWithGroupIdRequest, initOverrides?: RequestInit): Promise<void>;
    /**
     * Returns CWMS Location Groups Data
     * Get location group
     */
    getLocationGroupRaw(requestParameters: GetLocationGroupRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<Array<LocationGroup>>>;
    /**
     * Returns CWMS Location Groups Data
     * Get location group
     */
    getLocationGroup(requestParameters: GetLocationGroupRequest, initOverrides?: RequestInit): Promise<Array<LocationGroup>>;
    /**
     * Retrieves requested Location Group. This endpoint supports GEO JSON responses with application/geo+json.For more information about accept header usage, <a href=\"legacy-format/\">see this page.</a>
     * Get location group with groupId
     */
    getLocationGroupWithGroupIdRaw(requestParameters: GetLocationGroupWithGroupIdRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<LocationGroup>>;
    /**
     * Retrieves requested Location Group. This endpoint supports GEO JSON responses with application/geo+json.For more information about accept header usage, <a href=\"legacy-format/\">see this page.</a>
     * Get location group with groupId
     */
    getLocationGroupWithGroupId(requestParameters: GetLocationGroupWithGroupIdRequest, initOverrides?: RequestInit): Promise<LocationGroup>;
    /**
     * Update existing LocationGroup. Allows for renaming group, assigning new locations, and unassigning all locations from the group.
     * Patch location group with groupId
     */
    patchLocationGroupWithGroupIdRaw(requestParameters: PatchLocationGroupWithGroupIdRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<void>>;
    /**
     * Update existing LocationGroup. Allows for renaming group, assigning new locations, and unassigning all locations from the group.
     * Patch location group with groupId
     */
    patchLocationGroupWithGroupId(requestParameters: PatchLocationGroupWithGroupIdRequest, initOverrides?: RequestInit): Promise<void>;
    /**
     * Create new LocationGroup
     * Post location group
     */
    postLocationGroupRaw(requestParameters: PostLocationGroupRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<void>>;
    /**
     * Create new LocationGroup
     * Post location group
     */
    postLocationGroup(requestParameters: PostLocationGroupRequest, initOverrides?: RequestInit): Promise<void>;
}
