import { Construct } from 'constructs';
import { INotification } from './datadog-notification';
export interface DatadogLogIndexMonitoringProps {
    /**
     * The name of your service in Datadog. Can be used to query the monitors.
     */
    readonly serviceName: string;
    /**
     * The name of the Datadog index.
     */
    readonly indexName: string;
    /**
     * The integration to use for alerting.
     */
    readonly notification?: INotification;
    /**
     * The daily log quota settings.
     */
    readonly dailyLogQuota: DatadogLogQuotaProps;
    /**
     * This value should be used if there is no log message within 24 hours or missing historical data.
     * Without setting this value it will lead to an empty result and therefore trigger an alert.
     * @defaultValue - false
     */
    readonly sparseLogging?: boolean;
    /**
     * The Datadog organization, e.g., 'EU' or 'LATAM'
     * @defaultValue - 'EU'
     */
    readonly organization?: DatadogOrganization;
}
export interface DatadogLogQuotaProps {
    /**
     * The daily log quota for the team-specific index in million events.
     */
    readonly valueInMillionEvents: number;
    /**
     * The warning threshold for the daily log quota monitor in percent.
     */
    readonly warningThresholdInPercent: number;
    /**
     * The alarm threshold for the daily log quota monitor in percent.
     * The value must be between 0 and 100 and greater than or equal to the warning threshold.
     */
    readonly alertThresholdInPercent: number;
}
/**
 * Basic monitoring and alerting for a Datadog logs index.
 * It follows the Datadog guide at https://docs.datadoghq.com/logs/guide/logs-monitors-on-volumes/
 * and consists of the following three monitors.
 *   1. A metric alert that fires when you reach a certain threshold of your daily log quota.
 *   2. An anomaly monitor that detects log amount spikes.
 *   3. An event alert that fires when you hit the daily log quota.
 *
 * A datadog log index is team specific and thus the monitor needs to be deployed just once per index/team.
 */
export declare class DatadogLogIndexMonitoring extends Construct {
    constructor(scope: Construct, id: string, props: DatadogLogIndexMonitoringProps);
}
export type DatadogOrganization = 'EU' | 'LATAM' | 'Landing Zone';
export declare function getOrganizationUrlPrefix(organization: DatadogOrganization | undefined): string;
