import type { TimeSeriesResponse } from './response/timeseries';
import type { ModuleRuntimesResponse, TaskRunsResponse } from './response/tasks';
import type { LocationsResponse } from './response/locations';
import type { ImportStatusResponse } from './response/importStatus';
import type { VersionResponse } from './response/version';
import type { BaseFilter, TaskRunsFilter, TimeSeriesFilter, TimeSeriesGridFilter, LocationsFilter, LocationsTooltipFilter, ParametersFilter, ProcessDataFilter, ReportsFilter, ReportFilter, RunTaskFilter, TimeSeriesGridActionsFilter, TimeSeriesTopologyActionsFilter, FilterActionsFilter, WorkflowsFilter, ModuleRuntimesFilter, LogDisplaysFilter, LogDisplayLogsFilter, DashboardsFilter, WhatIfScenariosFilter, WhatIfTemplatesFilter, PostWhatIfScenarioFilter, ComponentSettingsFilter, TimeSeriesGridMaxValuesFilter, HistoryEditsFilter, TopologyActionFilter, ForecasterNoteRequest, ForecasterNotesFilter, FssInfoFilter, ForecastTimesFilter, TopologyThresholdFilter, ForecasterNoteKeysRequest, LogDisplayLogsActionRequest, CorrelationFilter, DataAnalysisDisplaysFilter, TaskRunStatusFilter, UserSettingsFilter, PostUserSettingsFilter, UserSettingsUsersFilter, TimeStepsFilter, MessagesFilter, TopicsMessagesWithAttachments } from "./requestParameters";
import type { ActionsResponse, DisplayGroupsNodesResponse, WebOcConfigurationResponse, TimeSeriesFlagsResponse, TimeSeriesFlagSourcesResponse, TimeSeriesParametersResponse, HistoryEditsResponse, TopologyThresholdNodeResponse, ReportsResponse, WorkflowResponse, LogsDisplayLogsResponse, LogsDisplaysResponse, WhatIfTemplatesResponse, WhatIfScenarioDescriptorsResponse, PostWhatIfScenarioResponse, WebOCDashboardsResponse, WebOCComponentSettingsResponse, TopologyNodeResponse, ForecasterNotesResponse, WorkflowFssInfoResponse, WorkflowForecastTimesResponse, TimeStepsResponse, ColorsResponse, DynamicReportDisplayCapabilitiesResponse, DynamicReportDisplayDataResponse, CorrelationResponse, DataAnalysisDisplaysResponse, TaskRunStatusResponse, UserSettingUsersResponse, WebOCMicroFrontEndsResponse, PermissionsResponse, MessagesResponse, TopicsMessagesPostResponse } from "./response";
import type { ParameterGroupsOutputOptions } from './output/parameters/parameterOutputOptions';
import type { ParameterGroupsOutput } from './output/parameters/parameterGroupsOutput';
import { PiRestService } from "@deltares/fews-web-oc-utils";
import type { ResponseParser, TransformRequestFunction } from "@deltares/fews-web-oc-utils";
import { DynamicReportDisplayCapabilitiesFilter, DynamicReportDisplayFilter } from './requestParameters/dynamicDisplayReportFilter';
import { DocumentDisplaysResponse } from './response/documentdisplays';
import { DocumentDisplaysFilter } from './requestParameters/documentDisplaysFilter';
import { MicroFrontEndsFilter } from './requestParameters/microFrontEndsFilter.js';
export declare class PiWebserviceProvider {
    private _baseUrl;
    maxUrlLength: number;
    private readonly explodeQueryParameters;
    readonly API_ENDPOINT = "rest/fewspiservice/v1";
    webservice: PiRestService;
    /**
     * Constructor for PiWebserviceProvider
     *
     * @param url the base url where the PI service is available
     * @param options Optional constructor options
     * @param options.maxUrlLength A number that specifies the maximum length of the URL. If the URL length exceeds this value, the requests will be split up.
     * @param options.explodeQueryParameters Controls how taskRunIds arrays are serialized.
     * @param options.transformRequestFn A function that can be used to modify the Request
     * before it is sent to the server. This function takes a Request as a parameter and returns the modified Request.
     * If this option is not specified, the Request will be sent as is.
     */
    constructor(url: string, options?: {
        maxUrlLength?: number;
        explodeQueryParameters?: boolean;
        transformRequestFn?: TransformRequestFunction;
    });
    private buildQueryParams;
    /**
     * Request locations
     *
     * @param filter an object with request query parameters
     * @returns Locations PI API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getLocations(filter: LocationsFilter): Promise<LocationsResponse>;
    /**
     * Request log displays
     *
     * @returns Locations PI API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getLogDisplays(filter: LogDisplaysFilter): Promise<LogsDisplaysResponse>;
    /**
     * Request mico frontend  displays
     *
     * @returns Locations PI API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getMicroFrontEnds(filter: MicroFrontEndsFilter): Promise<WebOCMicroFrontEndsResponse>;
    /**
     * Request document displays
     *
     * @returns DocumentDisplay PI API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getDocumentDisplays(filter: DocumentDisplaysFilter): Promise<DocumentDisplaysResponse>;
    /**
     * Request locations
     *
     * @param filter an object with request query parameters
     * @returns LocationsTooltip API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getLocationsTooltip(filter: LocationsTooltipFilter): Promise<string>;
    /**
     * Request the history of the edits
     *
     * @param filter an object with request query parameters
     * @returns Locations PI API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getHistoryEdits(filter: HistoryEditsFilter): Promise<HistoryEditsResponse>;
    /**
     * Request parameters
     *
     * @param filter an object with request query parameters
     * @param output options to convert output
     * @returns Parmeters PI API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getParameters(filter: ParametersFilter): Promise<TimeSeriesParametersResponse>;
    getParameters(filter: ParametersFilter, output?: ParameterGroupsOutputOptions): Promise<ParameterGroupsOutput>;
    /**
     * Request time series with a relative url
     * @param relativeUrl
     * @returns time series api response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getTimeSeriesWithRelativeUrl(relativeUrl: string): Promise<TimeSeriesResponse>;
    /**
     * Request Time Series
     *
     * @param filter an object with request query parameters
     * @returns Time Series PI API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getTimeSeriesTopologyActions(filter: TimeSeriesTopologyActionsFilter): Promise<TimeSeriesResponse>;
    /**
     * Request Time Series
     *
     * @param filter an object with request query parameters
     * @returns Time Series PI API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getTimeSeries(filter: TimeSeriesFilter): Promise<TimeSeriesResponse>;
    private getTimeSeriesResponse;
    /**
     * Request Time Series Grid
     *
     * @param filter an object with request query parameters
     * @returns Time Series Grid PI API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getTimeSeriesGrid(filter: TimeSeriesGridFilter): Promise<TimeSeriesResponse>;
    /**
     * Request Time Series Grid Actions
     *
     * @param filter an object with request query parameters
     * @returns Time Series Grid Actions PI API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getTimeSeriesGridActions(filter: TimeSeriesGridActionsFilter): Promise<ActionsResponse>;
    /**
     * Request time series maximum values for a WMS layer.
     *
     * @param filter an object with request query parameters
     * @returns Time series with maximum values for a WMS layer.
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getTimeSeriesGridMaxValues(filter: TimeSeriesGridMaxValuesFilter): Promise<TimeSeriesResponse>;
    /**
     * Request scheduled tasks
     *
     * @param filter an object with request query parameters
     * @returns task runs PI API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getTaskRuns(filter: TaskRunsFilter): Promise<TaskRunsResponse>;
    private getTaskRunsResponse;
    /**
     * Get all the topology nodes of FEWS
     *
     * @returns all the topology nodes configured in FEWS
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getTopologyNodes(): Promise<TopologyNodeResponse>;
    /**
     * Get all the active thresholds for the topology nodes
     *
     * @param filter an object with request query parameters
     * @returns all the active thresholds for the topology nodes
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getTopologyThresholds(filter: TopologyThresholdFilter): Promise<TopologyThresholdNodeResponse>;
    /**
     * Get the import status of FEWS
     *
     * @returns import status API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getImportStatus(): Promise<ImportStatusResponse>;
    /**
     * Get the version of FEWS
     *
     * @returns import status API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getVersion(): Promise<VersionResponse>;
    /**
     * Get all permissions and whether the current user has them assigned
     *
     * @returns import status API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getPermissions(): Promise<PermissionsResponse>;
    /**
     * Get the time zone used in FEWS
     *
     * @returns import status API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getTimeZoneId(): Promise<string>;
    /**
     * Get the configuration of FEWS related to the Web OC.
     *
     * @returns Web OC configuration API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getWebOcConfiguration(): Promise<WebOcConfigurationResponse>;
    /**
     * Get the configuration of FEWS related to the Web OC that is always available.
     *
     * @returns Web OC public configuration API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getWebOcPublicConfiguration(): Promise<WebOcConfigurationResponse>;
    /**
     * Get colors that should be used for plotting
     * @returns colors API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getColors(): Promise<ColorsResponse>;
    /**
     * Get the actions for a certain topology node
     *
     * @param filter search options for the displays (nodeId)
     * @returns Display groups API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getTopologyActions(filter: TopologyActionFilter): Promise<ActionsResponse>;
    getDisplayGroupsNodes(): Promise<DisplayGroupsNodesResponse>;
    /**
     * Get the time series flags
     *
     * @returns Time series flags API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getFlags(): Promise<TimeSeriesFlagsResponse>;
    /**
     * Get the time series flag sources
     *
     * @returns Time series flag sources API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getFlagSources(): Promise<TimeSeriesFlagSourcesResponse>;
    /**
     * Get the actions for filter
     *
     * @param filter search options
     * @returns Actions API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getFilterActions(filter: FilterActionsFilter): Promise<ActionsResponse>;
    /**
     * Get the workflows
     *
     * @param filter search options
     * @returns Workflows API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getWorkflows(filter: WorkflowsFilter): Promise<WorkflowResponse>;
    /**
     * Get the module run times
     *
     * @param filter search options
     * @returns Module run times API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getModuleRunTimes(filter: ModuleRuntimesFilter): Promise<ModuleRuntimesResponse>;
    /**
     * Get the dashboards
     *
     * @param filter search options
     * @returns Dashboards API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getDashboards(filter: DashboardsFilter): Promise<WebOCDashboardsResponse>;
    /**
     * Get the logdisplay logs
     *
     * @param filter search options
     * @returns LogsDisplayLogsResponse API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getLogDisplayLogs(filter: LogDisplayLogsFilter): Promise<LogsDisplayLogsResponse>;
    /**
     * Post a log display action
     *
     * @param request the log display action request
     * @returns the response from the server
     * @throws 'Fetch Error' if fetch result is not ok
     * */
    postLogDisplaysAction(request: LogDisplayLogsActionRequest): Promise<string>;
    /**
     * Get the what if templates
     *
     * @param filter search options
     * @returns WhatIfTemplates API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getWhatIfTemplates(filter: WhatIfTemplatesFilter): Promise<WhatIfTemplatesResponse>;
    /**
     * Get the component settings
     *
     * @param filter search options
     * @returns ComponentSettings API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getComponentSettings(filter: ComponentSettingsFilter): Promise<WebOCComponentSettingsResponse>;
    /**
     * Get the forecaster notes
     *
     * @param filter search options
     * @returns ForecasterNotes API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getForecasterNotes(filter: ForecasterNotesFilter): Promise<ForecasterNotesResponse>;
    /**
     * Get the FSS info
     *
     * @param filter search options
     * @returns WorkflowFssInfo API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getFssInfo(filter: FssInfoFilter): Promise<WorkflowFssInfoResponse>;
    /**
     * Get the forecast times
     *
     * @param filter search options
     * @returns WorkflowForecastTimes API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getForecastTimes(filter: ForecastTimesFilter): Promise<WorkflowForecastTimesResponse>;
    postForecasterNoteHelper(body: ForecasterNoteRequest | ForecasterNoteKeysRequest, url: URL): Promise<string>;
    /**
     * Post or update a forecaster note
     *
     * @param note the forecaster note to post
     * @returns whether the post was successful
     * @throws 'Fetch Error' if fetch result is not ok
     */
    postForecasterNote(note: ForecasterNoteRequest): Promise<string>;
    /**
     * Delete forecaster notes
     *
     * @param keys the forecaster note to post
     * @returns whether the deletion was successful
     * @throws 'Fetch Error' if fetch result is not ok
     */
    deleteForecasterNote(keys: ForecasterNoteKeysRequest): Promise<string>;
    /**
     * Acknowledge forecaster notes
     *
     * @param keys the forecaster notes to acknowledge
     * @returns whether the acknowledgement was successful
     * @throws 'Fetch Error' if fetch result is not ok
     */
    acknowledgeForecasterNote(keys: ForecasterNoteKeysRequest): Promise<string>;
    /**
     * Unacknowledge forecaster notes
     *
     * @param keys the forecaster notes to unacknowledge
     * @returns whether the acknowledgement was successful
     * @throws 'Fetch Error' if fetch result is not ok
     */
    unacknowledgeForecasterNote(keys: ForecasterNoteKeysRequest): Promise<string>;
    getMessages(filter: MessagesFilter): Promise<MessagesResponse>;
    postTopicMessage(topic: string, body: TopicsMessagesWithAttachments): Promise<TopicsMessagesPostResponse>;
    /**
     * Get the what if scenarios
     *
     * @param filter search options
     * @returns WhatIfScenarios API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getWhatIfScenarios(filter: WhatIfScenariosFilter): Promise<WhatIfScenarioDescriptorsResponse>;
    /**
     * Post time series edits.
     *
     * @param editUrl URL to post the time series edits to
     * @param timeSeriesEvents Time Series Events to be updated
     * @returns Updated time series events
     * @throws 'Fetch Error' if fetch result is not ok
     */
    postTimeSeriesEdit(editUrl: string, timeSeriesEvents: TimeSeriesResponse): Promise<unknown>;
    /**
     * Runs a workflow task for a given workflowId.
     *
     * @param filter an object with request query parameters
     * @param piParametersXmlContent URL Encoded model parameters content that validates against the
     *                               following xsd: https://fewsdocs.deltares.nl/schemas/version1.0/pi-schemas/pi_modelparameters.xsd
     *
     * @returns the taskId of the submitted job.
     * @throws 'Fetch Error' if fetch result is not ok
     */
    postRunTask(filter: RunTaskFilter, piParametersXmlContent: string): Promise<string>;
    /**
     * Runs a what if scenario for a given whatIfTemplateId.
     *
     * @param filter an object with request query parameters
     * @param piParametersXmlContent URL Encoded model parameters content that validates against the
     *                              following xsd: https://fewsdocs.deltares.nl/schemas/version1.0/pi-schemas/pi_modelparameters.xsd
     * @returns the WhatIfScenario of the submitted job.
     * @throws 'Fetch Error' if fetch result is not ok
     */
    postWhatIfScenario(filter: PostWhatIfScenarioFilter, piParametersXmlContent: string): Promise<PostWhatIfScenarioResponse>;
    /**
     * Get the reports for filter
     *
     * @param filter search options
     * @returns Reports API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getReports(filter: ReportsFilter): Promise<ReportsResponse>;
    /**
     * Get the report for filter
     *
     * @param filter search options
     * @returns Report API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getReport(filter: ReportFilter): Promise<string>;
    /**
     * Get the dynamic display for filter
     *
     * @param filter search options
     * @returns Report API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getDynamicReportDisplay(filter: DynamicReportDisplayFilter): Promise<string>;
    /**
     * Get the dynamic display capabilities for filter
     *
     * @param filter search options
     * @returns Report API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getDynamicReportDisplayCapabilities(filter: DynamicReportDisplayCapabilitiesFilter): Promise<DynamicReportDisplayCapabilitiesResponse>;
    /**
     * Get the dynamic display data for filter
     *
     * @param filter search options
     * @returns Report API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getDynamicReportDisplayData(filter: DynamicReportDisplayFilter): Promise<DynamicReportDisplayDataResponse>;
    /**
     * Get the time steps for filter
     *
     * @param filter search options
     * @returns TimeStepsResponse API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getTimeSteps(filter: TimeStepsFilter): Promise<TimeStepsResponse>;
    /**
     * Get the correlation for filter
     *
     * @param filter search options
     * @returns CorrelationResponse API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getCorrelation(filter: CorrelationFilter): Promise<CorrelationResponse>;
    /**
     * Get the data analysis displays for filter
     *
     * @param filter search options
     * @returns DataAnalysisDisplaysResponse API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getDataAnalysisDisplays(filter: DataAnalysisDisplaysFilter): Promise<DataAnalysisDisplaysResponse>;
    /**
     * Get the task run status for filter
     *
     * @param filter search options
     * @returns TaskRunStatusResponse API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getTaskRunStatus(filter: TaskRunStatusFilter): Promise<TaskRunStatusResponse>;
    /**
     * Get the user settings for filter
     *
     * @param filter search options
     * @returns UserSettingsResponse API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getUserSettings<T>(filter: UserSettingsFilter, parser?: ResponseParser<T>): Promise<T>;
    /**
     * Post the user settings for filter
     *
     * @param filter search options
     * @param body the body of the request
     * @returns the response from the server
     * @throws 'Fetch Error' if fetch result is not ok
     */
    postUserSettings(filter: UserSettingsFilter, body: string): Promise<string>;
    /**
     * Get the user settings users for filter
     *
     * @param filter search options
     * @returns UserSettingUsersResponse API response
     * @throws 'Fetch Error' if fetch result is not ok
     */
    getUserSettingsUsers(filter: UserSettingsUsersFilter): Promise<UserSettingUsersResponse>;
    /**
     * Construct URL for locations request
     *
     * @param filter an object with request query parameters
     * @returns complete url for making a request
     */
    locationsUrl(filter: LocationsFilter): URL;
    /**
     * Construct URL for log displays request
     *
     * @returns complete url for making a request
     */
    logDisplaysUrl(filter: LogDisplaysFilter): URL;
    /**
     * Construct URL for micro frontends request
     *
     * @returns complete url for making a request
     */
    microFrontEndsUrl(filter: MicroFrontEndsFilter): URL;
    /**
     * Construct URL for document displays request
     *
     * @returns complete url for making a request
     */
    documentDisplaysUrl(filter: DocumentDisplaysFilter): URL;
    /**
     * Construct URL for locations tooltip request
     *
     * @param filter an object with request query parameters
     * @returns complete url for making a request
     */
    locationsTooltipUrl(filter: LocationsTooltipFilter): URL;
    /**
     * Construct URL for history edits request
     *
     * @param filter an object with request query parameters
     * @returns complete url for making a request
     */
    historyEditsUrl(filter: HistoryEditsFilter): URL;
    /**
     * Construct URL for parameters request
     *
     * @param filter an object with request query parameters
     * @returns complete url for making a request
     */
    parametersUrl(filter: ParametersFilter): URL;
    /**
     * Construct URL for time series request
     *
     * @param filter an object with request query parameters
     * @returns complete url for making a request
     */
    timeSeriesUrl(filter: TimeSeriesFilter): URL;
    /**
     * Construct URL for time series grid request
     *
     * @param filter an object with request query parameters
     * @returns complete url for making a request
     */
    timeSeriesGridUrl(filter: TimeSeriesGridFilter): URL;
    /**
     * Constructs URL for time series grid max values request
     *
     * @param filter an object with request query parameters
     * @returns complete url for making a request
     */
    timeSeriesGridMaxValuesUrl(filter: TimeSeriesGridMaxValuesFilter): URL;
    /**
     * Construct URL for display groups request
     *
     * @param filter an object with request query parameters
     * @returns complete url for making a request
     */
    topologyActionsUrl(filter: TopologyActionFilter): URL;
    /**
     * Construct URL for time series grid actions request
     * @param filter an object with request query parameters
     * @returns
     */
    timeSeriesGridActionsUrl(filter: TimeSeriesGridActionsFilter): URL;
    /**
     * Construct URL for filter actions request
     *
     * @param filter an object with request query parameters
     * @returns complete url for making a request
     */
    filterActionsUrl(filter: FilterActionsFilter): URL;
    /**
     * Construct URL for display group nodes request
     *
     * @returns complete url for making a request
     */
    displayGroupsNodesUrl(): URL;
    /**
     * Construct URL for module run times request
     *
     * @param filter an object with request query parameters
     * @returns complete url for making a request
     */
    taskRunsUrl(filter: TaskRunsFilter): URL;
    /**
     * Construct URL for import status request
     *
     * @returns complete url for making a request
     */
    importStatusUrl(): URL;
    /**
     * Construct URL for version information
     *
     * @param queryParameters query string
     * @returns complete url for making a request
     */
    versionUrl(queryParameters: string): URL;
    /**
     * Construct URL for permissions request
     *
     * @param queryParameters query string
     * @returns complete url for making a request
     */
    permissionsUrl(filter: TaskRunsFilter): URL;
    /**
     * Construct URL for time zone information
     *
     * @returns complete url for making a request
     */
    timeZoneIdUrl(): URL;
    /**
     * Construct URL for Web OC configuration
     *
     * @returns complete url for making a request
     */
    webOcConfigurationUrl(filter: BaseFilter): URL;
    /**
     * Construct URL for Web OC configuration
     *
     * @returns complete url for making a request
     */
    webOcPublicConfigurationUrl(filter: BaseFilter): URL;
    /**
     *
     * Construct URL for static resources from the Delft-FEWS WebResourceFiles configuration folder.
     * In case an absolute URL is passed, the passed path will be returned as URL.
     *
     * @returns complete url for making a request
     */
    resourcesStaticUrl(resource: string): URL;
    /**
     *
     * Construct URL for icon file from the IconFiles folder.
     * In case an absolute URL is passed, the passed path will be returned as URL.
     *
     * @returns complete url for making a request
     */
    resourcesIconsUrl(resource: string): URL;
    /**
     * Construct URL for topology nodes request
     *
     * @returns complete url for making a request
     */
    topologyNodesUrl(): URL;
    /**
     * Construct URL for topology thresholds request
     *
     * @param filter an object with request query parameters
     * @returns complete url for making a request
     */
    topologyThresholdsUrl(filter: TopologyThresholdFilter): URL;
    timeSeriesTopologyActionsUrl(filter: TimeSeriesTopologyActionsFilter): URL;
    flagsUrl(): URL;
    flagSourcesUrl(): URL;
    processDataUrl(filter: ProcessDataFilter): URL;
    runTaskUrl(filter: RunTaskFilter): URL;
    reportsUrl(filter: ReportsFilter): URL;
    reportUrl(filter: ReportFilter): URL;
    dynamicReportDisplayUrl(filter: DynamicReportDisplayFilter | DynamicReportDisplayCapabilitiesFilter, path?: 'capabilities' | 'data'): URL;
    workflowsUrl(filter: WorkflowsFilter): URL;
    moduleRunTimesUrl(filter: ModuleRuntimesFilter): URL;
    dashboardsUrl(filter: DashboardsFilter): URL;
    logDisplayLogsUrl(filter: LogDisplayLogsFilter): URL;
    logDisplayActionUrl(logDisplayId: string): URL;
    whatIfScenariosUrl(filter: WhatIfScenariosFilter): URL;
    whatIfTemplatesUrl(filter: WhatIfTemplatesFilter): URL;
    postWhatIfScenarioUrl(filter: PostWhatIfScenarioFilter): URL;
    componentSettingsUrl(filter: ComponentSettingsFilter): URL;
    forecasterNotesUrl(filter: ForecasterNotesFilter, action?: 'delete' | 'acknowledge' | 'unacknowledge'): URL;
    fssInfoUrl(filter: FssInfoFilter): URL;
    forecastTimesUrl(filter: ForecastTimesFilter): URL;
    timeSeriesFilterActionsUrl(filter: FilterActionsFilter): URL;
    timeStepsUrl(filter: TimeStepsFilter): URL;
    correlationUrl(filter: CorrelationFilter): URL;
    dataAnalysisDisplaysUrl(filter: DataAnalysisDisplaysFilter): URL;
    taskRunStatusUrl(filter: TaskRunStatusFilter): URL;
    userSettingsUrl(filter: UserSettingsFilter): URL;
    postUserSettingsUrl(filter: PostUserSettingsFilter): URL;
    userSettingsUsersUrl(filter: UserSettingsUsersFilter): URL;
    messagesUrl({ messageId, ...filter }: MessagesFilter): URL;
    postTopicsMessagesUrl(topic: string): URL;
}
