/**
 * This file was automatically generated by json-schema-to-typescript.
 * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
 * and run json-schema-to-typescript to regenerate this file.
 */
/**
 * SsdActionsResponse PI_JSON
 */
export interface SsdActionsResponse {
    resultsNotAvailableForRequest?: boolean;
    /**
     * SsdActionsResults
     */
    results: SsdActionResult[];
}
export interface SsdActionResult {
    type: "PI" | "SSD" | "PDF" | "URL" | "WMS" | "WEBOC_DASHBOARD";
    actionId?: string;
    map?: SsdActionResultMap;
    charts?: SsdActionResultCharts;
    title?: string;
    /**
     * SsdActionRequests
     */
    requests?: SsdActionRequest[];
    config?: ActionRequestConfig;
}
export interface SsdActionResultMap {
    locationId: string;
}
export interface SsdActionResultCharts {
    displayId: string;
    chartsLocationId: string;
}
export interface SsdActionRequest {
    key?: string;
    request: string;
    historyRequest?: string;
    editRequest?: string;
    editPermissions?: ("values" | "comments" | "flags")[];
}
export interface ActionRequestConfig {
    timeSeriesDisplay: TimeSeriesDisplayConfig;
}
export interface TimeSeriesDisplayConfig {
    /**
     * Error in case a not supported configuration is used.
     */
    error?: string;
    title?: string;
    forecastLegend?: string;
    plotId?: string;
    index?: number;
    period?: SsdActionPeriod;
    subplots?: TimeSeriesDisplaySubplot[];
}
export interface SsdActionPeriod {
    startDate: SsdActionsPeriodDate;
    endDate: SsdActionsPeriodDate;
}
/**
 * Date
 */
export interface SsdActionsPeriodDate {
    /**
     * Date
     */
    date: string;
    /**
     * Time
     */
    time: string;
}
export interface TimeSeriesDisplaySubplot {
    items: TimeSeriesDisplaySubplotItem[];
}
export interface TimeSeriesDisplaySubplotItem {
    visibleInLegend?: boolean;
    visibleInPlot?: boolean;
    visibleInTable?: boolean;
    type: string;
    legend?: string;
    color?: string;
    lineStyle?: string;
    lineWidth?: number;
    opaquenessPercentage?: number;
    markerStyle?: string;
    markerSize?: number;
    locationId?: string;
    yAxis?: TimeSeriesDisplaySubplotItemAxis;
    thresholds?: TimeSeriesDisplaySubplotItemThreshold;
    /**
     * Key of the request. Only used if there is only one request.
     */
    request?: string;
    /**
     * Array with the keys of the requests. Only used if there are multiple requests.
     */
    requests?: string[];
}
export interface TimeSeriesDisplaySubplotItemAxis {
    axisPosition?: string;
    axisLabel?: string;
    axisMinValue?: number;
    axisMaxValue?: number;
}
export interface TimeSeriesDisplaySubplotItemThreshold {
    value?: number;
    label?: string;
    color?: string;
}
