/**
 * 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 { StoreRule, TimeSeries, TimeSeriesProfile, TimeSeriesProfileInstance, TimeSeriesProfileList, TimeSeriesProfileParser, TimeSeriesProfileParserIndexed, Tsv, UnitSystem, VerticalDatum } from '../models';
export interface DeleteTimeSeriesProfileInstanceWithLocationIdWithParameterIdWithVersionRequest {
    locationId: string;
    parameterId: string;
    version: string;
    office: string;
    versionDate: Date;
    date: Date;
    timezone?: string;
    overrideProtection?: boolean;
}
export interface DeleteTimeSeriesProfileParserWithLocationIdWithParameterIdRequest {
    locationId: string;
    parameterId: string;
    office: string;
}
export interface DeleteTimeSeriesProfileWithLocationIdWithParameterIdRequest {
    locationId: string;
    parameterId: string;
    office?: string;
}
export interface DeleteTimeSeriesWithTimeSeriesRequest {
    timeseries: string;
    office: string;
    begin: string;
    end: string;
    timezone?: string;
    versionDate?: string;
    startTimeInclusive?: boolean;
    endTimeInclusive?: boolean;
    maxVersion?: boolean;
    overrideProtection?: boolean;
}
export interface GetTimeSeriesRequest {
    name: string;
    office?: string;
    unit?: string;
    units?: string;
    versionDate?: string;
    datum?: string;
    begin?: string;
    end?: string;
    timezone?: string;
    trim?: boolean;
    format?: string;
    includeEntryDate?: boolean;
    page?: string;
    pageSize?: number;
}
export interface GetTimeSeriesFilteredRequest {
    name: string;
    office?: string;
    unit?: string;
    versionDate?: string;
    begin?: string;
    end?: string;
    timezone?: string;
    trim?: boolean;
    includeEntryDate?: boolean;
    query?: string;
    page?: string;
    pageSize?: number;
}
export interface GetTimeSeriesProfileRequest {
    officeMask?: string;
    locationMask?: string;
    parameterIdMask?: string;
    page?: string;
    pageSize?: string;
}
export interface GetTimeSeriesProfileInstanceRequest {
    officeMask?: string;
    locationMask?: string;
    parameterIdMask?: string;
    versionMask?: string;
}
export interface GetTimeSeriesProfileInstanceWithLocationIdWithParameterIdWithVersionRequest {
    locationId: string;
    parameterId: string;
    version: string;
    office: string;
    unit: string;
    start: Date;
    end: Date;
    timezone?: string;
    versionDate?: Date;
    startTimeInclusive?: boolean;
    endTimeInclusive?: boolean;
    previous?: boolean;
    next?: boolean;
    maxVersion?: boolean;
    page?: string;
    pageSize?: number;
}
export interface GetTimeSeriesProfileParserRequest {
    parameterIdMask?: string;
    officeMask?: string;
    locationMask?: string;
}
export interface GetTimeSeriesProfileParserWithLocationIdWithParameterIdRequest {
    locationId: string;
    parameterId: string;
    office: string;
}
export interface GetTimeSeriesProfileWithLocationIdWithParameterIdRequest {
    locationId: string;
    parameterId: string;
    office?: string;
}
export interface GetTimeSeriesRecentRequest {
    office?: string;
    categoryId?: string;
    groupId?: string;
    tsIds?: string;
    unitSystem?: UnitSystem;
}
export interface PatchTimeSeriesWithTimeSeriesRequest {
    timeseries: string;
    timeSeries: TimeSeries;
    timezone?: string;
    createAsLrts?: boolean;
    storeRule?: StoreRule;
    overrideProtection?: boolean;
    datum?: VerticalDatum;
}
export interface PostTimeSeriesRequest {
    timeSeries: TimeSeries;
    timezone?: string;
    createAsLrts?: boolean;
    storeRule?: StoreRule;
    overrideProtection?: boolean;
    datum?: VerticalDatum;
}
export interface PostTimeSeriesProfileRequest {
    failIfExists?: boolean;
    timeSeriesProfile?: TimeSeriesProfile;
}
export interface PostTimeSeriesProfileInstanceRequest {
    versionDate: Date;
    profileData: string;
    version: string;
    method?: StoreRule;
    overrideProtection?: boolean;
    timeSeriesProfile?: TimeSeriesProfile;
}
export interface PostTimeSeriesProfileParserRequest {
    timeSeriesProfileParserIndexed: TimeSeriesProfileParserIndexed;
    failIfExists?: boolean;
}
/**
 *
 */
export declare class TimeSeriesApi extends runtime.BaseAPI {
    /**
     * Delete a time series profile instance
     */
    deleteTimeSeriesProfileInstanceWithLocationIdWithParameterIdWithVersionRaw(requestParameters: DeleteTimeSeriesProfileInstanceWithLocationIdWithParameterIdWithVersionRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<void>>;
    /**
     * Delete a time series profile instance
     */
    deleteTimeSeriesProfileInstanceWithLocationIdWithParameterIdWithVersion(requestParameters: DeleteTimeSeriesProfileInstanceWithLocationIdWithParameterIdWithVersionRequest, initOverrides?: RequestInit): Promise<void>;
    /**
     * Delete a TimeSeriesProfile Parser by ID
     */
    deleteTimeSeriesProfileParserWithLocationIdWithParameterIdRaw(requestParameters: DeleteTimeSeriesProfileParserWithLocationIdWithParameterIdRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<void>>;
    /**
     * Delete a TimeSeriesProfile Parser by ID
     */
    deleteTimeSeriesProfileParserWithLocationIdWithParameterId(requestParameters: DeleteTimeSeriesProfileParserWithLocationIdWithParameterIdRequest, initOverrides?: RequestInit): Promise<void>;
    /**
     * Delete a time series profile
     */
    deleteTimeSeriesProfileWithLocationIdWithParameterIdRaw(requestParameters: DeleteTimeSeriesProfileWithLocationIdWithParameterIdRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<void>>;
    /**
     * Delete a time series profile
     */
    deleteTimeSeriesProfileWithLocationIdWithParameterId(requestParameters: DeleteTimeSeriesProfileWithLocationIdWithParameterIdRequest, initOverrides?: RequestInit): Promise<void>;
    /**
     * Delete timeseries with timeseries
     */
    deleteTimeSeriesWithTimeSeriesRaw(requestParameters: DeleteTimeSeriesWithTimeSeriesRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<void>>;
    /**
     * Delete timeseries with timeseries
     */
    deleteTimeSeriesWithTimeSeries(requestParameters: DeleteTimeSeriesWithTimeSeriesRequest, initOverrides?: RequestInit): Promise<void>;
    /**
     * Get timeseries
     */
    getTimeSeriesRaw(requestParameters: GetTimeSeriesRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<TimeSeries>>;
    /**
     * Get timeseries
     */
    getTimeSeries(requestParameters: GetTimeSeriesRequest, initOverrides?: RequestInit): Promise<TimeSeries>;
    /**
     * Get timeseries filtered
     */
    getTimeSeriesFilteredRaw(requestParameters: GetTimeSeriesFilteredRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<TimeSeries>>;
    /**
     * Get timeseries filtered
     */
    getTimeSeriesFiltered(requestParameters: GetTimeSeriesFilteredRequest, initOverrides?: RequestInit): Promise<TimeSeries>;
    /**
     * Get a catalog of time series profiles
     */
    getTimeSeriesProfileRaw(requestParameters: GetTimeSeriesProfileRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<TimeSeriesProfileList>>;
    /**
     * Get a catalog of time series profiles
     */
    getTimeSeriesProfile(requestParameters?: GetTimeSeriesProfileRequest, initOverrides?: RequestInit): Promise<TimeSeriesProfileList>;
    /**
     * Get all time series profile instances that match the provided masks. This endpoint will return a list of time series profile instances without the associated data. Data for an instance can be retrieved using the singular retrieval endpoint.
     */
    getTimeSeriesProfileInstanceRaw(requestParameters: GetTimeSeriesProfileInstanceRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<TimeSeriesProfileInstance>>;
    /**
     * Get all time series profile instances that match the provided masks. This endpoint will return a list of time series profile instances without the associated data. Data for an instance can be retrieved using the singular retrieval endpoint.
     */
    getTimeSeriesProfileInstance(requestParameters?: GetTimeSeriesProfileInstanceRequest, initOverrides?: RequestInit): Promise<TimeSeriesProfileInstance>;
    /**
     * Get a time series profile instance that matches the provided parameters.
     */
    getTimeSeriesProfileInstanceWithLocationIdWithParameterIdWithVersionRaw(requestParameters: GetTimeSeriesProfileInstanceWithLocationIdWithParameterIdWithVersionRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<TimeSeriesProfileInstance>>;
    /**
     * Get a time series profile instance that matches the provided parameters.
     */
    getTimeSeriesProfileInstanceWithLocationIdWithParameterIdWithVersion(requestParameters: GetTimeSeriesProfileInstanceWithLocationIdWithParameterIdWithVersionRequest, initOverrides?: RequestInit): Promise<TimeSeriesProfileInstance>;
    /**
     * Retrieve a list of TimeSeries Profile Parsers that match the provided mask parameters
     */
    getTimeSeriesProfileParserRaw(requestParameters: GetTimeSeriesProfileParserRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<Array<TimeSeriesProfileParser>>>;
    /**
     * Retrieve a list of TimeSeries Profile Parsers that match the provided mask parameters
     */
    getTimeSeriesProfileParser(requestParameters?: GetTimeSeriesProfileParserRequest, initOverrides?: RequestInit): Promise<Array<TimeSeriesProfileParser>>;
    /**
     * Get a TimeSeriesProfile Parser by ID
     */
    getTimeSeriesProfileParserWithLocationIdWithParameterIdRaw(requestParameters: GetTimeSeriesProfileParserWithLocationIdWithParameterIdRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<TimeSeriesProfileParser>>;
    /**
     * Get a TimeSeriesProfile Parser by ID
     */
    getTimeSeriesProfileParserWithLocationIdWithParameterId(requestParameters: GetTimeSeriesProfileParserWithLocationIdWithParameterIdRequest, initOverrides?: RequestInit): Promise<TimeSeriesProfileParser>;
    /**
     * Get a time series profile
     */
    getTimeSeriesProfileWithLocationIdWithParameterIdRaw(requestParameters: GetTimeSeriesProfileWithLocationIdWithParameterIdRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<TimeSeriesProfile>>;
    /**
     * Get a time series profile
     */
    getTimeSeriesProfileWithLocationIdWithParameterId(requestParameters: GetTimeSeriesProfileWithLocationIdWithParameterIdRequest, initOverrides?: RequestInit): Promise<TimeSeriesProfile>;
    /**
     * Returns CWMS TimeSeries Groups Data
     * Get timeseries recent
     */
    getTimeSeriesRecentRaw(requestParameters: GetTimeSeriesRecentRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<Array<Tsv>>>;
    /**
     * Returns CWMS TimeSeries Groups Data
     * Get timeseries recent
     */
    getTimeSeriesRecent(requestParameters?: GetTimeSeriesRecentRequest, initOverrides?: RequestInit): Promise<Array<Tsv>>;
    /**
     * Update a TimeSeries with provided values
     * Patch timeseries with timeseries
     */
    patchTimeSeriesWithTimeSeriesRaw(requestParameters: PatchTimeSeriesWithTimeSeriesRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<void>>;
    /**
     * Update a TimeSeries with provided values
     * Patch timeseries with timeseries
     */
    patchTimeSeriesWithTimeSeries(requestParameters: PatchTimeSeriesWithTimeSeriesRequest, initOverrides?: RequestInit): Promise<void>;
    /**
     * Used to create and save time-series data. Data to be stored must have time stamps in UTC represented as epoch milliseconds. If data entry date is included in the request, it will be dropped.
     * Post timeseries
     */
    postTimeSeriesRaw(requestParameters: PostTimeSeriesRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<void>>;
    /**
     * Used to create and save time-series data. Data to be stored must have time stamps in UTC represented as epoch milliseconds. If data entry date is included in the request, it will be dropped.
     * Post timeseries
     */
    postTimeSeries(requestParameters: PostTimeSeriesRequest, initOverrides?: RequestInit): Promise<void>;
    /**
     * Create a new time series profile
     */
    postTimeSeriesProfileRaw(requestParameters: PostTimeSeriesProfileRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<void>>;
    /**
     * Create a new time series profile
     */
    postTimeSeriesProfile(requestParameters?: PostTimeSeriesProfileRequest, initOverrides?: RequestInit): Promise<void>;
    /**
     * Create a new time series profile instance by parsing provided data
     */
    postTimeSeriesProfileInstanceRaw(requestParameters: PostTimeSeriesProfileInstanceRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<void>>;
    /**
     * Create a new time series profile instance by parsing provided data
     */
    postTimeSeriesProfileInstance(requestParameters: PostTimeSeriesProfileInstanceRequest, initOverrides?: RequestInit): Promise<void>;
    /**
     * Store a TimeSeriesProfile Parser
     */
    postTimeSeriesProfileParserRaw(requestParameters: PostTimeSeriesProfileParserRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<void>>;
    /**
     * Store a TimeSeriesProfile Parser
     */
    postTimeSeriesProfileParser(requestParameters: PostTimeSeriesProfileParserRequest, initOverrides?: RequestInit): Promise<void>;
}
