/**
 * 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.
 */
export interface GetCapabilitiesResponse {
    title: string;
    layers: Layer[];
    groups: LayerGroup[];
}
export interface Layer {
    name: string;
    title: string;
    abstract?: string;
    /**
     * Path of the node the layer is attached to
     */
    path?: string[];
    /**
     * Name of the group this layer is part of
     */
    groupName?: string;
    /**
     * Title of the group this layer is part of
     */
    groupTitle?: string;
    keywordList?: Keyword[];
    externalForecastTime?: string;
    /**
     * Task run id of the forecast
     */
    taskRunId?: string;
    ensembles?: Ensemble[];
    timesDefault?: string;
    times?: string[];
    /**
     * Set to true if this layer has only missing values. Null in case it is unknown (from archive).
     */
    completelyMissing?: boolean | null;
    /**
     * First time step from the time array that has a value. Null in case it is unknown (from archive).
     */
    firstValueTime?: string | null;
    /**
     * Last time step from the times array that has a value. Null in case it is unknown (from archive).
     */
    lastValueTime?: string | null;
    /**
     * Set to true if all data layers are of type grid
     */
    onlyGrids?: boolean;
    elevation?: {
        units?: string;
        unitSymbol?: string;
        lowerValue?: number;
        upperValue?: number;
        tickInterval?: number;
        irregularTicks?: number[];
    };
    boundingBox?: BoundingBox;
    styles?: Style[];
    /**
     * Set to true if a a geotiff image is supported for this layer with uv information. Default is valse
     */
    uv?: boolean;
    animatedVectors?: {
        numberOfParticles?: number;
        particleSize?: number;
        fadeAmount?: number;
        particleColor?: string;
        speedFactor?: number;
        speedExponent?: number;
        coloredParticles?: boolean;
        maximumParticleAge?: number;
        growthRate?: number;
        particleType?: "simple" | "wave-crest";
    };
    /**
     * workflow with its properties.
     */
    workflow?: {
        workflowId?: string;
        properties?: WorkflowProperties[];
    };
}
export interface Keyword {
    parameterId?: string;
    locationId?: string;
    moduleInstanceId?: string;
    timeSeriesType?: "EXTERNAL_HISTORICAL" | "EXTERNAL_FORECASTING" | "SIMULATED_HISTORICAL" | "SIMULATED_FORECASTING";
    ensembleId?: string;
    ensembleMemberId?: string;
    forecastTime?: string;
}
export interface Ensemble {
    ensembleId: string;
    ensembleMemberIds: string[];
}
/**
 * Bounding box according to CRS EPSG:3857 Web Mercator format
 */
export interface BoundingBox {
    crs: "EPSG:3857";
    minx: string;
    maxy: string;
    maxx: string;
    miny: string;
}
export interface Style {
    name?: string;
    title: string;
}
export interface WorkflowProperties {
    type: "string" | "float" | "bool" | "double" | "int" | "dateTime";
    key: string;
    value?: string;
    date?: string;
    time?: string;
}
export interface LayerGroup {
    name: string;
    title: string;
    /**
     * Path of the node
     */
    path: string[];
    /**
     * Name of the parent group the group is part of
     */
    groupName?: string;
    /**
     * Title of the parent group the group is part of
     */
    groupTitle?: string;
}
