/**
 * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License.
 * This product includes software developed at Datadog (https://www.datadoghq.com/).
 * Copyright 2020-Present Datadog, Inc.
 */
import { MonitorDeviceID } from "./MonitorDeviceID";
import { MonitorFormulaAndFunctionQueryDefinition } from "./MonitorFormulaAndFunctionQueryDefinition";
import { MonitorOptionsAggregation } from "./MonitorOptionsAggregation";
import { MonitorOptionsNotificationPresets } from "./MonitorOptionsNotificationPresets";
import { MonitorOptionsSchedulingOptions } from "./MonitorOptionsSchedulingOptions";
import { MonitorRenotifyStatusType } from "./MonitorRenotifyStatusType";
import { MonitorThresholds } from "./MonitorThresholds";
import { MonitorThresholdWindowOptions } from "./MonitorThresholdWindowOptions";
import { OnMissingDataOption } from "./OnMissingDataOption";
import { AttributeTypeMap } from "../../datadog-api-client-common/util";
/**
 * List of options associated with your monitor.
 */
export declare class MonitorOptions {
    /**
     * Type of aggregation performed in the monitor query.
     */
    "aggregation"?: MonitorOptionsAggregation;
    /**
     * IDs of the device the Synthetics monitor is running on.
     */
    "deviceIds"?: Array<MonitorDeviceID>;
    /**
     * Whether or not to send a log sample when the log monitor triggers.
     */
    "enableLogsSample"?: boolean;
    /**
     * Whether or not to send a list of samples when the monitor triggers. This is only used by CI Test and Pipeline monitors.
     */
    "enableSamples"?: boolean;
    /**
     * We recommend using the [is_renotify](https://docs.datadoghq.com/monitors/notify/?tab=is_alert#renotify),
     * block in the original message instead.
     * A message to include with a re-notification. Supports the `@username` notification we allow elsewhere.
     * Not applicable if `renotify_interval` is `None`.
     */
    "escalationMessage"?: string;
    /**
     * Time (in seconds) to delay evaluation, as a non-negative integer. For example, if the value is set to `300` (5min),
     * the timeframe is set to `last_5m` and the time is 7:00, the monitor evaluates data from 6:50 to 6:55.
     * This is useful for AWS CloudWatch and other backfilled metrics to ensure the monitor always has data during evaluation.
     */
    "evaluationDelay"?: number;
    /**
     * The time span after which groups with missing data are dropped from the monitor state.
     * The minimum value is one hour, and the maximum value is 72 hours.
     * Example values are: "60m", "1h", and "2d".
     * This option is only available for APM Trace Analytics, Audit Trail, CI, Error Tracking, Event, Logs, and RUM monitors.
     */
    "groupRetentionDuration"?: string;
    /**
     * Whether the log alert monitor triggers a single alert or multiple alerts when any group breaches a threshold. Use `notify_by` instead.
     */
    "groupbySimpleMonitor"?: boolean;
    /**
     * A Boolean indicating whether notifications from this monitor automatically inserts its triggering tags into the title.
     *
     * **Examples**
     * - If `True`, `[Triggered on {host:h1}] Monitor Title`
     * - If `False`, `[Triggered] Monitor Title`
     */
    "includeTags"?: boolean;
    /**
     * Whether or not the monitor is locked (only editable by creator and admins). Use `restricted_roles` instead.
     */
    "locked"?: boolean;
    /**
     * How long the test should be in failure before alerting (integer, number of seconds, max 7200).
     */
    "minFailureDuration"?: number;
    /**
     * The minimum number of locations in failure at the same time during
     * at least one moment in the `min_failure_duration` period (`min_location_failed` and `min_failure_duration`
     * are part of the advanced alerting rules - integer, >= 1).
     */
    "minLocationFailed"?: number;
    /**
     * Time (in seconds) to skip evaluations for new groups.
     *
     * For example, this option can be used to skip evaluations for new hosts while they initialize.
     *
     * Must be a non negative integer.
     */
    "newGroupDelay"?: number;
    /**
     * Time (in seconds) to allow a host to boot and applications
     * to fully start before starting the evaluation of monitor results.
     * Should be a non negative integer.
     *
     * Use new_group_delay instead.
     */
    "newHostDelay"?: number;
    /**
     * The number of minutes before a monitor notifies after data stops reporting.
     * Datadog recommends at least 2x the monitor timeframe for query alerts or 2 minutes for service checks.
     * If omitted, 2x the evaluation timeframe is used for query alerts, and 24 hours is used for service checks.
     */
    "noDataTimeframe"?: number;
    /**
     * Toggles the display of additional content sent in the monitor notification.
     */
    "notificationPresetName"?: MonitorOptionsNotificationPresets;
    /**
     * A Boolean indicating whether tagged users is notified on changes to this monitor.
     */
    "notifyAudit"?: boolean;
    /**
     * Controls what granularity a monitor alerts on. Only available for monitors with groupings.
     * For instance, a monitor grouped by `cluster`, `namespace`, and `pod` can be configured to only notify on each
     * new `cluster` violating the alert conditions by setting `notify_by` to `["cluster"]`. Tags mentioned
     * in `notify_by` must be a subset of the grouping tags in the query.
     * For example, a query grouped by `cluster` and `namespace` cannot notify on `region`.
     * Setting `notify_by` to `["*"]` configures the monitor to notify as a simple-alert.
     */
    "notifyBy"?: Array<string>;
    /**
     * A Boolean indicating whether this monitor notifies when data stops reporting. Defaults to `false`.
     */
    "notifyNoData"?: boolean;
    /**
     * Controls how groups or monitors are treated if an evaluation does not return any data points.
     * The default option results in different behavior depending on the monitor query type.
     * For monitors using Count queries, an empty monitor evaluation is treated as 0 and is compared to the threshold conditions.
     * For monitors using any query type other than Count, for example Gauge, Measure, or Rate, the monitor shows the last known status.
     * This option is only available for APM Trace Analytics, Audit Trail, CI, Error Tracking, Event, Logs, and RUM monitors.
     */
    "onMissingData"?: OnMissingDataOption;
    /**
     * The number of minutes after the last notification before a monitor re-notifies on the current status.
     * It only re-notifies if it’s not resolved.
     */
    "renotifyInterval"?: number;
    /**
     * The number of times re-notification messages should be sent on the current status at the provided re-notification interval.
     */
    "renotifyOccurrences"?: number;
    /**
     * The types of monitor statuses for which re-notification messages are sent.
     * Default: **null** if `renotify_interval` is **null**.
     * If `renotify_interval` is set, defaults to renotify on `Alert` and `No Data`.
     */
    "renotifyStatuses"?: Array<MonitorRenotifyStatusType>;
    /**
     * A Boolean indicating whether this monitor needs a full window of data before it’s evaluated.
     * We highly recommend you set this to `false` for sparse metrics,
     * otherwise some evaluations are skipped. Default is false. This setting only applies to
     * metric monitors.
     */
    "requireFullWindow"?: boolean;
    /**
     * Configuration options for scheduling.
     */
    "schedulingOptions"?: MonitorOptionsSchedulingOptions;
    /**
     * Information about the downtime applied to the monitor. Only shows v1 downtimes.
     */
    "silenced"?: {
        [key: string]: number;
    };
    /**
     * ID of the corresponding Synthetic check.
     */
    "syntheticsCheckId"?: string;
    /**
     * Alerting time window options.
     */
    "thresholdWindows"?: MonitorThresholdWindowOptions;
    /**
     * List of the different monitor threshold available.
     */
    "thresholds"?: MonitorThresholds;
    /**
     * The number of hours of the monitor not reporting data before it automatically resolves from a triggered state. The minimum allowed value is 0 hours. The maximum allowed value is 24 hours.
     */
    "timeoutH"?: number;
    /**
     * List of requests that can be used in the monitor query. **This feature is currently in beta.**
     */
    "variables"?: Array<MonitorFormulaAndFunctionQueryDefinition>;
    /**
     * A container for additional, undeclared properties.
     * This is a holder for any undeclared properties as specified with
     * the 'additionalProperties' keyword in the OAS document.
     */
    "additionalProperties"?: {
        [key: string]: any;
    };
    /**
     * @ignore
     */
    "_unparsed"?: boolean;
    /**
     * @ignore
     */
    static readonly attributeTypeMap: AttributeTypeMap;
    /**
     * @ignore
     */
    static getAttributeTypeMap(): AttributeTypeMap;
    constructor();
}
