@deltares/fews-pi-requests
Version:
Library for making requests to the FEWS PI webservice
693 lines (692 loc) • 28.3 kB
TypeScript
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;
}