/**
 * Cloudflare ALERTING API
 *
 * Generated from Cloudflare TypeScript SDK.
 * DO NOT EDIT - regenerate with: bun scripts/generate.ts --service alerting
 */
import * as Schema from "effect/Schema";
import type * as HttpClient from "effect/unstable/http/HttpClient";
import * as API from "../client/api.ts";
import type { Credentials } from "../credentials.ts";
import { type DefaultErrors, InternalServerError } from "../errors.ts";
declare const FiltersRequired_base: Schema.Class<FiltersRequired, Schema.TaggedStruct<"FiltersRequired", {
    readonly code: Schema.Number;
    readonly message: Schema.String;
}>, import("effect/Cause").YieldableError>;
export declare class FiltersRequired extends FiltersRequired_base {
}
declare const InvalidAlertType_base: Schema.Class<InvalidAlertType, Schema.TaggedStruct<"InvalidAlertType", {
    readonly code: Schema.Number;
    readonly message: Schema.String;
}>, import("effect/Cause").YieldableError>;
export declare class InvalidAlertType extends InvalidAlertType_base {
}
declare const InvalidRoute_base: Schema.Class<InvalidRoute, Schema.TaggedStruct<"InvalidRoute", {
    readonly code: Schema.Number;
    readonly message: Schema.String;
}>, import("effect/Cause").YieldableError>;
export declare class InvalidRoute extends InvalidRoute_base {
}
declare const InvalidWebhookId_base: Schema.Class<InvalidWebhookId, Schema.TaggedStruct<"InvalidWebhookId", {
    readonly code: Schema.Number;
    readonly message: Schema.String;
}>, import("effect/Cause").YieldableError>;
export declare class InvalidWebhookId extends InvalidWebhookId_base {
}
declare const MechanismRequired_base: Schema.Class<MechanismRequired, Schema.TaggedStruct<"MechanismRequired", {
    readonly code: Schema.Number;
    readonly message: Schema.String;
}>, import("effect/Cause").YieldableError>;
export declare class MechanismRequired extends MechanismRequired_base {
}
declare const PolicyNotFound_base: Schema.Class<PolicyNotFound, Schema.TaggedStruct<"PolicyNotFound", {
    readonly code: Schema.Number;
    readonly message: Schema.String;
}>, import("effect/Cause").YieldableError>;
export declare class PolicyNotFound extends PolicyNotFound_base {
}
declare const WebhookNotFound_base: Schema.Class<WebhookNotFound, Schema.TaggedStruct<"WebhookNotFound", {
    readonly code: Schema.Number;
    readonly message: Schema.String;
}>, import("effect/Cause").YieldableError>;
export declare class WebhookNotFound extends WebhookNotFound_base {
}
declare const WebhookTestFailed_base: Schema.Class<WebhookTestFailed, Schema.TaggedStruct<"WebhookTestFailed", {
    readonly code: Schema.Number;
    readonly message: Schema.String;
}>, import("effect/Cause").YieldableError>;
export declare class WebhookTestFailed extends WebhookTestFailed_base {
}
export interface ListAvailableAlertsRequest {
    /** The account id */
    accountId: string;
}
export declare const ListAvailableAlertsRequest: Schema.Schema<ListAvailableAlertsRequest>;
export type ListAvailableAlertsResponse = Record<string, unknown>;
export declare const ListAvailableAlertsResponse: Schema.Schema<ListAvailableAlertsResponse>;
export type ListAvailableAlertsError = DefaultErrors | InvalidRoute;
export declare const listAvailableAlerts: API.OperationMethod<ListAvailableAlertsRequest, ListAvailableAlertsResponse, ListAvailableAlertsError, Credentials | HttpClient.HttpClient>;
export interface GetDestinationEligibleRequest {
    /** The account id */
    accountId: string;
}
export declare const GetDestinationEligibleRequest: Schema.Schema<GetDestinationEligibleRequest>;
export type GetDestinationEligibleResponse = Record<string, unknown>;
export declare const GetDestinationEligibleResponse: Schema.Schema<GetDestinationEligibleResponse>;
export type GetDestinationEligibleError = DefaultErrors | InvalidRoute;
export declare const getDestinationEligible: API.OperationMethod<GetDestinationEligibleRequest, GetDestinationEligibleResponse, GetDestinationEligibleError, Credentials | HttpClient.HttpClient>;
export interface GetDestinationPagerdutyRequest {
    /** The account id */
    accountId: string;
}
export declare const GetDestinationPagerdutyRequest: Schema.Schema<GetDestinationPagerdutyRequest>;
export interface GetDestinationPagerdutyResponse {
    result: {
        id?: string | null;
        name?: string | null;
    }[];
}
export declare const GetDestinationPagerdutyResponse: Schema.Schema<GetDestinationPagerdutyResponse>;
export type GetDestinationPagerdutyError = DefaultErrors;
export declare const getDestinationPagerduty: API.PaginatedOperationMethod<GetDestinationPagerdutyRequest, GetDestinationPagerdutyResponse, GetDestinationPagerdutyError, Credentials | HttpClient.HttpClient>;
export interface CreateDestinationPagerdutyRequest {
    /** The account id */
    accountId: string;
}
export declare const CreateDestinationPagerdutyRequest: Schema.Schema<CreateDestinationPagerdutyRequest>;
export interface CreateDestinationPagerdutyResponse {
    /** token in form of UUID */
    id?: string | null;
}
export declare const CreateDestinationPagerdutyResponse: Schema.Schema<CreateDestinationPagerdutyResponse>;
export type CreateDestinationPagerdutyError = DefaultErrors | InvalidRoute;
export declare const createDestinationPagerduty: API.OperationMethod<CreateDestinationPagerdutyRequest, CreateDestinationPagerdutyResponse, CreateDestinationPagerdutyError, Credentials | HttpClient.HttpClient>;
export interface DeleteDestinationPagerdutyRequest {
    /** The account id */
    accountId: string;
}
export declare const DeleteDestinationPagerdutyRequest: Schema.Schema<DeleteDestinationPagerdutyRequest>;
export interface DeleteDestinationPagerdutyResponse {
    errors: {
        message: string;
        code?: number | null;
    }[];
    messages: {
        message: string;
        code?: number | null;
    }[];
    /** Whether the API call was successful */
    success: true;
}
export declare const DeleteDestinationPagerdutyResponse: Schema.Schema<DeleteDestinationPagerdutyResponse>;
export type DeleteDestinationPagerdutyError = DefaultErrors | InvalidRoute;
export declare const deleteDestinationPagerduty: API.OperationMethod<DeleteDestinationPagerdutyRequest, DeleteDestinationPagerdutyResponse, DeleteDestinationPagerdutyError, Credentials | HttpClient.HttpClient>;
export interface LinkDestinationPagerdutyRequest {
    tokenId: string;
    /** The account id */
    accountId: string;
}
export declare const LinkDestinationPagerdutyRequest: Schema.Schema<LinkDestinationPagerdutyRequest>;
export interface LinkDestinationPagerdutyResponse {
    /** UUID */
    id?: string | null;
}
export declare const LinkDestinationPagerdutyResponse: Schema.Schema<LinkDestinationPagerdutyResponse>;
export type LinkDestinationPagerdutyError = DefaultErrors | InvalidRoute;
export declare const linkDestinationPagerduty: API.OperationMethod<LinkDestinationPagerdutyRequest, LinkDestinationPagerdutyResponse, LinkDestinationPagerdutyError, Credentials | HttpClient.HttpClient>;
export interface GetDestinationWebhookRequest {
    webhookId: string;
    /** The account id */
    accountId: string;
}
export declare const GetDestinationWebhookRequest: Schema.Schema<GetDestinationWebhookRequest>;
export interface GetDestinationWebhookResponse {
    /** The unique identifier of a webhook */
    id?: string | null;
    /** Timestamp of when the webhook destination was created. */
    createdAt?: string | null;
    /** Timestamp of the last time an attempt to dispatch a notification to this webhook failed. */
    lastFailure?: string | null;
    /** Timestamp of the last time Cloudflare was able to successfully dispatch a notification using this webhook. */
    lastSuccess?: string | null;
    /** The name of the webhook destination. This will be included in the request body when you receive a webhook notification. */
    name?: string | null;
    /** Type of webhook endpoint. */
    type?: "datadog" | "discord" | "feishu" | "gchat" | "generic" | "opsgenie" | "slack" | "splunk" | null;
    /** The POST endpoint to call when dispatching a notification. */
    url?: string | null;
}
export declare const GetDestinationWebhookResponse: Schema.Schema<GetDestinationWebhookResponse>;
export type GetDestinationWebhookError = DefaultErrors | InvalidRoute | WebhookNotFound;
export declare const getDestinationWebhook: API.OperationMethod<GetDestinationWebhookRequest, GetDestinationWebhookResponse, GetDestinationWebhookError, Credentials | HttpClient.HttpClient>;
export interface ListDestinationWebhooksRequest {
    /** The account id */
    accountId: string;
}
export declare const ListDestinationWebhooksRequest: Schema.Schema<ListDestinationWebhooksRequest>;
export interface ListDestinationWebhooksResponse {
    result: {
        id?: string | null;
        createdAt?: string | null;
        lastFailure?: string | null;
        lastSuccess?: string | null;
        name?: string | null;
        type?: "datadog" | "discord" | "feishu" | "gchat" | "generic" | "opsgenie" | "slack" | "splunk" | null;
        url?: string | null;
    }[];
}
export declare const ListDestinationWebhooksResponse: Schema.Schema<ListDestinationWebhooksResponse>;
export type ListDestinationWebhooksError = DefaultErrors;
export declare const listDestinationWebhooks: API.PaginatedOperationMethod<ListDestinationWebhooksRequest, ListDestinationWebhooksResponse, ListDestinationWebhooksError, Credentials | HttpClient.HttpClient>;
export interface CreateDestinationWebhookRequest {
    /** Path param: The account id */
    accountId: string;
    /** Body param: The name of the webhook destination. This will be included in the request body when you receive a webhook notification. */
    name: string;
    /** Body param: The POST endpoint to call when dispatching a notification. */
    url: string;
    /** Body param: Optional secret that will be passed in the `cf-webhook-auth` header when dispatching generic webhook notifications or formatted for supported destinations. Secrets are not returned in any  */
    secret?: string;
}
export declare const CreateDestinationWebhookRequest: Schema.Schema<CreateDestinationWebhookRequest>;
export interface CreateDestinationWebhookResponse {
    /** UUID */
    id?: string | null;
}
export declare const CreateDestinationWebhookResponse: Schema.Schema<CreateDestinationWebhookResponse>;
export type CreateDestinationWebhookError = DefaultErrors | InvalidRoute | WebhookTestFailed;
export declare const createDestinationWebhook: API.OperationMethod<CreateDestinationWebhookRequest, CreateDestinationWebhookResponse, CreateDestinationWebhookError, Credentials | HttpClient.HttpClient>;
export interface UpdateDestinationWebhookRequest {
    webhookId: string;
    /** Path param: The account id */
    accountId: string;
    /** Body param: The name of the webhook destination. This will be included in the request body when you receive a webhook notification. */
    name: string;
    /** Body param: The POST endpoint to call when dispatching a notification. */
    url: string;
    /** Body param: Optional secret that will be passed in the `cf-webhook-auth` header when dispatching generic webhook notifications or formatted for supported destinations. Secrets are not returned in any  */
    secret?: string;
}
export declare const UpdateDestinationWebhookRequest: Schema.Schema<UpdateDestinationWebhookRequest>;
export interface UpdateDestinationWebhookResponse {
    /** UUID */
    id?: string | null;
}
export declare const UpdateDestinationWebhookResponse: Schema.Schema<UpdateDestinationWebhookResponse>;
export type UpdateDestinationWebhookError = DefaultErrors | InvalidRoute | InvalidWebhookId;
export declare const updateDestinationWebhook: API.OperationMethod<UpdateDestinationWebhookRequest, UpdateDestinationWebhookResponse, UpdateDestinationWebhookError, Credentials | HttpClient.HttpClient>;
export interface DeleteDestinationWebhookRequest {
    webhookId: string;
    /** The account id */
    accountId: string;
}
export declare const DeleteDestinationWebhookRequest: Schema.Schema<DeleteDestinationWebhookRequest>;
export interface DeleteDestinationWebhookResponse {
    errors: {
        message: string;
        code?: number | null;
    }[];
    messages: {
        message: string;
        code?: number | null;
    }[];
    /** Whether the API call was successful */
    success: true;
}
export declare const DeleteDestinationWebhookResponse: Schema.Schema<DeleteDestinationWebhookResponse>;
export type DeleteDestinationWebhookError = DefaultErrors | InvalidRoute | InternalServerError;
export declare const deleteDestinationWebhook: API.OperationMethod<DeleteDestinationWebhookRequest, DeleteDestinationWebhookResponse, DeleteDestinationWebhookError, Credentials | HttpClient.HttpClient>;
export interface ListHistoriesRequest {
    /** Path param: The account id */
    accountId: string;
    page?: number;
    perPage?: number;
    /** Query param: Limit the returned results to history records older than the specified date. This must be a timestamp that conforms to RFC3339. */
    before?: string;
    /** Query param: Limit the returned results to history records newer than the specified date. This must be a timestamp that conforms to RFC3339. */
    since?: string;
}
export declare const ListHistoriesRequest: Schema.Schema<ListHistoriesRequest>;
export interface ListHistoriesResponse {
    result: {
        id?: string | null;
        alertBody?: string | null;
        alertType?: string | null;
        description?: string | null;
        mechanism?: string | null;
        mechanismType?: "email" | "pagerduty" | "webhook" | null;
        name?: string | null;
        policyId?: string | null;
        sent?: string | null;
    }[];
    resultInfo?: {
        count?: number | null;
        page?: number | null;
        perPage?: number | null;
        totalCount?: number | null;
    } | null;
}
export declare const ListHistoriesResponse: Schema.Schema<ListHistoriesResponse>;
export type ListHistoriesError = DefaultErrors;
export declare const listHistories: API.PaginatedOperationMethod<ListHistoriesRequest, ListHistoriesResponse, ListHistoriesError, Credentials | HttpClient.HttpClient>;
export interface GetPolicyRequest {
    policyId: string;
    /** The account id */
    accountId: string;
}
export declare const GetPolicyRequest: Schema.Schema<GetPolicyRequest>;
export interface GetPolicyResponse {
    /** The unique identifier of a notification policy */
    id?: string | null;
    /** Optional specification of how often to re-alert from the same incident, not support on all alert types. */
    alertInterval?: string | null;
    /** Refers to which event will trigger a Notification dispatch. You can use the endpoint to get available alert types which then will give you a list of possible values. */
    alertType?: "abuse_report_alert" | "access_custom_certificate_expiration_type" | "advanced_ddos_attack_l4_alert" | "advanced_ddos_attack_l7_alert" | "advanced_http_alert_error" | "bgp_hijack_notification" | "billing_usage_alert" | "block_notification_block_removed" | "block_notification_new_block" | "block_notification_review_rejected" | "bot_traffic_basic_alert" | "brand_protection_alert" | "brand_protection_digest" | "clickhouse_alert_fw_anomaly" | "clickhouse_alert_fw_ent_anomaly" | "cloudforce_one_request_notification" | "custom_analytics" | "custom_bot_detection_alert" | "custom_ssl_certificate_event_type" | "dedicated_ssl_certificate_event_type" | "device_connectivity_anomaly_alert" | "dos_attack_l4" | "dos_attack_l7" | "expiring_service_token_alert" | "failing_logpush_job_disabled_alert" | "fbm_auto_advertisement" | "fbm_dosd_attack" | "fbm_volumetric_attack" | "health_check_status_notification" | "hostname_aop_custom_certificate_expiration_type" | "http_alert_edge_error" | "http_alert_origin_error" | "image_notification" | "image_resizing_notification" | "incident_alert" | "load_balancing_health_alert" | "load_balancing_pool_enablement_alert" | "logo_match_alert" | "magic_tunnel_health_check_event" | "magic_wan_tunnel_health" | "maintenance_event_notification" | "mtls_certificate_store_certificate_expiration_type" | "pages_event_alert" | "radar_notification" | "real_origin_monitoring" | "scriptmonitor_alert_new_code_change_detections" | "scriptmonitor_alert_new_hosts" | "scriptmonitor_alert_new_malicious_hosts" | "scriptmonitor_alert_new_malicious_scripts" | "scriptmonitor_alert_new_malicious_url" | "scriptmonitor_alert_new_max_length_resource_url" | "scriptmonitor_alert_new_resources" | "secondary_dns_all_primaries_failing" | "secondary_dns_primaries_failing" | "secondary_dns_warning" | "secondary_dns_zone_successfully_updated" | "secondary_dns_zone_validation_warning" | "security_insights_alert" | "sentinel_alert" | "stream_live_notifications" | "synthetic_test_latency_alert" | "synthetic_test_low_availability_alert" | "traffic_anomalies_alert" | "tunnel_health_event" | "tunnel_update_event" | "universal_ssl_event_type" | "web_analytics_metrics_update" | "zone_aop_custom_certificate_expiration_type" | null;
    created?: string | null;
    /** Optional description for the Notification policy. */
    description?: string | null;
    /** Whether or not the Notification policy is enabled. */
    enabled?: boolean | null;
    /** Optional filters that allow you to be alerted only on a subset of events for that alert type based on some criteria. This is only available for select alert types. See alert type documentation for mor */
    filters?: {
        actions?: string[] | null;
        affectedAsns?: string[] | null;
        affectedComponents?: string[] | null;
        affectedLocations?: string[] | null;
        airportCode?: string[] | null;
        alertTriggerPreferences?: string[] | null;
        alertTriggerPreferencesValue?: string[] | null;
        enabled?: string[] | null;
        environment?: string[] | null;
        event?: string[] | null;
        eventSource?: string[] | null;
        eventType?: string[] | null;
        groupBy?: string[] | null;
        healthCheckId?: string[] | null;
        incidentImpact?: ("INCIDENT_IMPACT_NONE" | "INCIDENT_IMPACT_MINOR" | "INCIDENT_IMPACT_MAJOR" | "INCIDENT_IMPACT_CRITICAL")[] | null;
        inputId?: string[] | null;
        insightClass?: string[] | null;
        limit?: string[] | null;
        logoTag?: string[] | null;
        megabitsPerSecond?: string[] | null;
        newHealth?: string[] | null;
        newStatus?: string[] | null;
        packetsPerSecond?: string[] | null;
        poolId?: string[] | null;
        popNames?: string[] | null;
        product?: string[] | null;
        projectId?: string[] | null;
        protocol?: string[] | null;
        queryTag?: string[] | null;
        requestsPerSecond?: string[] | null;
        selectors?: string[] | null;
        services?: string[] | null;
        slo?: string[] | null;
        status?: string[] | null;
        targetHostname?: string[] | null;
        targetIp?: string[] | null;
        targetZoneName?: string[] | null;
        trafficExclusions?: "security_events"[] | null;
        tunnelId?: string[] | null;
        tunnelName?: string[] | null;
        type?: string[] | null;
        where?: string[] | null;
        zones?: string[] | null;
    } | null;
    /** List of IDs that will be used when dispatching a notification. IDs for email type will be the email address. */
    mechanisms?: {
        email?: {
            id?: string | null;
        }[] | null;
        pagerduty?: {
            id?: string | null;
        }[] | null;
        webhooks?: {
            id?: string | null;
        }[] | null;
    } | null;
    modified?: string | null;
    /** Name of the policy. */
    name?: string | null;
}
export declare const GetPolicyResponse: Schema.Schema<GetPolicyResponse>;
export type GetPolicyError = DefaultErrors | InvalidRoute | PolicyNotFound;
export declare const getPolicy: API.OperationMethod<GetPolicyRequest, GetPolicyResponse, GetPolicyError, Credentials | HttpClient.HttpClient>;
export interface ListPoliciesRequest {
    /** The account id */
    accountId: string;
}
export declare const ListPoliciesRequest: Schema.Schema<ListPoliciesRequest>;
export interface ListPoliciesResponse {
    result: {
        id?: string | null;
        alertInterval?: string | null;
        alertType?: "abuse_report_alert" | "access_custom_certificate_expiration_type" | "advanced_ddos_attack_l4_alert" | "advanced_ddos_attack_l7_alert" | "advanced_http_alert_error" | "bgp_hijack_notification" | "billing_usage_alert" | "block_notification_block_removed" | "block_notification_new_block" | "block_notification_review_rejected" | "bot_traffic_basic_alert" | "brand_protection_alert" | "brand_protection_digest" | "clickhouse_alert_fw_anomaly" | "clickhouse_alert_fw_ent_anomaly" | "cloudforce_one_request_notification" | "custom_analytics" | "custom_bot_detection_alert" | "custom_ssl_certificate_event_type" | "dedicated_ssl_certificate_event_type" | "device_connectivity_anomaly_alert" | "dos_attack_l4" | "dos_attack_l7" | "expiring_service_token_alert" | "failing_logpush_job_disabled_alert" | "fbm_auto_advertisement" | "fbm_dosd_attack" | "fbm_volumetric_attack" | "health_check_status_notification" | "hostname_aop_custom_certificate_expiration_type" | "http_alert_edge_error" | "http_alert_origin_error" | "image_notification" | "image_resizing_notification" | "incident_alert" | "load_balancing_health_alert" | "load_balancing_pool_enablement_alert" | "logo_match_alert" | "magic_tunnel_health_check_event" | "magic_wan_tunnel_health" | "maintenance_event_notification" | "mtls_certificate_store_certificate_expiration_type" | "pages_event_alert" | "radar_notification" | "real_origin_monitoring" | "scriptmonitor_alert_new_code_change_detections" | "scriptmonitor_alert_new_hosts" | "scriptmonitor_alert_new_malicious_hosts" | "scriptmonitor_alert_new_malicious_scripts" | "scriptmonitor_alert_new_malicious_url" | "scriptmonitor_alert_new_max_length_resource_url" | "scriptmonitor_alert_new_resources" | "secondary_dns_all_primaries_failing" | "secondary_dns_primaries_failing" | "secondary_dns_warning" | "secondary_dns_zone_successfully_updated" | "secondary_dns_zone_validation_warning" | "security_insights_alert" | "sentinel_alert" | "stream_live_notifications" | "synthetic_test_latency_alert" | "synthetic_test_low_availability_alert" | "traffic_anomalies_alert" | "tunnel_health_event" | "tunnel_update_event" | "universal_ssl_event_type" | "web_analytics_metrics_update" | "zone_aop_custom_certificate_expiration_type" | null;
        created?: string | null;
        description?: string | null;
        enabled?: boolean | null;
        filters?: {
            actions?: string[] | null;
            affectedAsns?: string[] | null;
            affectedComponents?: string[] | null;
            affectedLocations?: string[] | null;
            airportCode?: string[] | null;
            alertTriggerPreferences?: string[] | null;
            alertTriggerPreferencesValue?: string[] | null;
            enabled?: string[] | null;
            environment?: string[] | null;
            event?: string[] | null;
            eventSource?: string[] | null;
            eventType?: string[] | null;
            groupBy?: string[] | null;
            healthCheckId?: string[] | null;
            incidentImpact?: ("INCIDENT_IMPACT_NONE" | "INCIDENT_IMPACT_MINOR" | "INCIDENT_IMPACT_MAJOR" | "INCIDENT_IMPACT_CRITICAL")[] | null;
            inputId?: string[] | null;
            insightClass?: string[] | null;
            limit?: string[] | null;
            logoTag?: string[] | null;
            megabitsPerSecond?: string[] | null;
            newHealth?: string[] | null;
            newStatus?: string[] | null;
            packetsPerSecond?: string[] | null;
            poolId?: string[] | null;
            popNames?: string[] | null;
            product?: string[] | null;
            projectId?: string[] | null;
            protocol?: string[] | null;
            queryTag?: string[] | null;
            requestsPerSecond?: string[] | null;
            selectors?: string[] | null;
            services?: string[] | null;
            slo?: string[] | null;
            status?: string[] | null;
            targetHostname?: string[] | null;
            targetIp?: string[] | null;
            targetZoneName?: string[] | null;
            trafficExclusions?: "security_events"[] | null;
            tunnelId?: string[] | null;
            tunnelName?: string[] | null;
            type?: string[] | null;
            where?: string[] | null;
            zones?: string[] | null;
        } | null;
        mechanisms?: {
            email?: {
                id?: string | null;
            }[] | null;
            pagerduty?: {
                id?: string | null;
            }[] | null;
            webhooks?: {
                id?: string | null;
            }[] | null;
        } | null;
        modified?: string | null;
        name?: string | null;
    }[];
}
export declare const ListPoliciesResponse: Schema.Schema<ListPoliciesResponse>;
export type ListPoliciesError = DefaultErrors;
export declare const listPolicies: API.PaginatedOperationMethod<ListPoliciesRequest, ListPoliciesResponse, ListPoliciesError, Credentials | HttpClient.HttpClient>;
export interface CreatePolicyRequest {
    /** Path param: The account id */
    accountId: string;
    /** Body param: Refers to which event will trigger a Notification dispatch. You can use the endpoint to get available alert types which then will give you a list of possible values. */
    alertType: "abuse_report_alert" | "access_custom_certificate_expiration_type" | "advanced_ddos_attack_l4_alert" | "advanced_ddos_attack_l7_alert" | "advanced_http_alert_error" | "bgp_hijack_notification" | "billing_usage_alert" | "block_notification_block_removed" | "block_notification_new_block" | "block_notification_review_rejected" | "bot_traffic_basic_alert" | "brand_protection_alert" | "brand_protection_digest" | "clickhouse_alert_fw_anomaly" | "clickhouse_alert_fw_ent_anomaly" | "cloudforce_one_request_notification" | "custom_analytics" | "custom_bot_detection_alert" | "custom_ssl_certificate_event_type" | "dedicated_ssl_certificate_event_type" | "device_connectivity_anomaly_alert" | "dos_attack_l4" | "dos_attack_l7" | "expiring_service_token_alert" | "failing_logpush_job_disabled_alert" | "fbm_auto_advertisement" | "fbm_dosd_attack" | "fbm_volumetric_attack" | "health_check_status_notification" | "hostname_aop_custom_certificate_expiration_type" | "http_alert_edge_error" | "http_alert_origin_error" | "image_notification" | "image_resizing_notification" | "incident_alert" | "load_balancing_health_alert" | "load_balancing_pool_enablement_alert" | "logo_match_alert" | "magic_tunnel_health_check_event" | "magic_wan_tunnel_health" | "maintenance_event_notification" | "mtls_certificate_store_certificate_expiration_type" | "pages_event_alert" | "radar_notification" | "real_origin_monitoring" | "scriptmonitor_alert_new_code_change_detections" | "scriptmonitor_alert_new_hosts" | "scriptmonitor_alert_new_malicious_hosts" | "scriptmonitor_alert_new_malicious_scripts" | "scriptmonitor_alert_new_malicious_url" | "scriptmonitor_alert_new_max_length_resource_url" | "scriptmonitor_alert_new_resources" | "secondary_dns_all_primaries_failing" | "secondary_dns_primaries_failing" | "secondary_dns_warning" | "secondary_dns_zone_successfully_updated" | "secondary_dns_zone_validation_warning" | "security_insights_alert" | "sentinel_alert" | "stream_live_notifications" | "synthetic_test_latency_alert" | "synthetic_test_low_availability_alert" | "traffic_anomalies_alert" | "tunnel_health_event" | "tunnel_update_event" | "universal_ssl_event_type" | "web_analytics_metrics_update" | "zone_aop_custom_certificate_expiration_type";
    /** Body param: Whether or not the Notification policy is enabled. */
    enabled: boolean;
    /** Body param: List of IDs that will be used when dispatching a notification. IDs for email type will be the email address. */
    mechanisms: {
        email?: {
            id?: string;
        }[];
        pagerduty?: {
            id?: string;
        }[];
        webhooks?: {
            id?: string;
        }[];
    };
    /** Body param: Name of the policy. */
    name: string;
    /** Body param: Optional specification of how often to re-alert from the same incident, not support on all alert types. */
    alertInterval?: string;
    /** Body param: Optional description for the Notification policy. */
    description?: string;
    /** Body param: Optional filters that allow you to be alerted only on a subset of events for that alert type based on some criteria. This is only available for select alert types. See alert type documenta */
    filters?: {
        actions?: string[];
        affectedAsns?: string[];
        affectedComponents?: string[];
        affectedLocations?: string[];
        airportCode?: string[];
        alertTriggerPreferences?: string[];
        alertTriggerPreferencesValue?: string[];
        enabled?: string[];
        environment?: string[];
        event?: string[];
        eventSource?: string[];
        eventType?: string[];
        groupBy?: string[];
        healthCheckId?: string[];
        incidentImpact?: ("INCIDENT_IMPACT_NONE" | "INCIDENT_IMPACT_MINOR" | "INCIDENT_IMPACT_MAJOR" | "INCIDENT_IMPACT_CRITICAL")[];
        inputId?: string[];
        insightClass?: string[];
        limit?: string[];
        logoTag?: string[];
        megabitsPerSecond?: string[];
        newHealth?: string[];
        newStatus?: string[];
        packetsPerSecond?: string[];
        poolId?: string[];
        popNames?: string[];
        product?: string[];
        projectId?: string[];
        protocol?: string[];
        queryTag?: string[];
        requestsPerSecond?: string[];
        selectors?: string[];
        services?: string[];
        slo?: string[];
        status?: string[];
        targetHostname?: string[];
        targetIp?: string[];
        targetZoneName?: string[];
        trafficExclusions?: "security_events"[];
        tunnelId?: string[];
        tunnelName?: string[];
        type?: string[];
        where?: string[];
        zones?: string[];
    };
}
export declare const CreatePolicyRequest: Schema.Schema<CreatePolicyRequest>;
export interface CreatePolicyResponse {
    /** UUID */
    id?: string | null;
}
export declare const CreatePolicyResponse: Schema.Schema<CreatePolicyResponse>;
export type CreatePolicyError = DefaultErrors | InvalidRoute | FiltersRequired | MechanismRequired;
export declare const createPolicy: API.OperationMethod<CreatePolicyRequest, CreatePolicyResponse, CreatePolicyError, Credentials | HttpClient.HttpClient>;
export interface UpdatePolicyRequest {
    policyId: string;
    /** Path param: The account id */
    accountId: string;
    /** Body param: Optional specification of how often to re-alert from the same incident, not support on all alert types. */
    alertInterval?: string;
    /** Body param: Refers to which event will trigger a Notification dispatch. You can use the endpoint to get available alert types which then will give you a list of possible values. */
    alertType?: "abuse_report_alert" | "access_custom_certificate_expiration_type" | "advanced_ddos_attack_l4_alert" | "advanced_ddos_attack_l7_alert" | "advanced_http_alert_error" | "bgp_hijack_notification" | "billing_usage_alert" | "block_notification_block_removed" | "block_notification_new_block" | "block_notification_review_rejected" | "bot_traffic_basic_alert" | "brand_protection_alert" | "brand_protection_digest" | "clickhouse_alert_fw_anomaly" | "clickhouse_alert_fw_ent_anomaly" | "cloudforce_one_request_notification" | "custom_analytics" | "custom_bot_detection_alert" | "custom_ssl_certificate_event_type" | "dedicated_ssl_certificate_event_type" | "device_connectivity_anomaly_alert" | "dos_attack_l4" | "dos_attack_l7" | "expiring_service_token_alert" | "failing_logpush_job_disabled_alert" | "fbm_auto_advertisement" | "fbm_dosd_attack" | "fbm_volumetric_attack" | "health_check_status_notification" | "hostname_aop_custom_certificate_expiration_type" | "http_alert_edge_error" | "http_alert_origin_error" | "image_notification" | "image_resizing_notification" | "incident_alert" | "load_balancing_health_alert" | "load_balancing_pool_enablement_alert" | "logo_match_alert" | "magic_tunnel_health_check_event" | "magic_wan_tunnel_health" | "maintenance_event_notification" | "mtls_certificate_store_certificate_expiration_type" | "pages_event_alert" | "radar_notification" | "real_origin_monitoring" | "scriptmonitor_alert_new_code_change_detections" | "scriptmonitor_alert_new_hosts" | "scriptmonitor_alert_new_malicious_hosts" | "scriptmonitor_alert_new_malicious_scripts" | "scriptmonitor_alert_new_malicious_url" | "scriptmonitor_alert_new_max_length_resource_url" | "scriptmonitor_alert_new_resources" | "secondary_dns_all_primaries_failing" | "secondary_dns_primaries_failing" | "secondary_dns_warning" | "secondary_dns_zone_successfully_updated" | "secondary_dns_zone_validation_warning" | "security_insights_alert" | "sentinel_alert" | "stream_live_notifications" | "synthetic_test_latency_alert" | "synthetic_test_low_availability_alert" | "traffic_anomalies_alert" | "tunnel_health_event" | "tunnel_update_event" | "universal_ssl_event_type" | "web_analytics_metrics_update" | "zone_aop_custom_certificate_expiration_type";
    /** Body param: Optional description for the Notification policy. */
    description?: string;
    /** Body param: Whether or not the Notification policy is enabled. */
    enabled?: boolean;
    /** Body param: Optional filters that allow you to be alerted only on a subset of events for that alert type based on some criteria. This is only available for select alert types. See alert type documenta */
    filters?: {
        actions?: string[];
        affectedAsns?: string[];
        affectedComponents?: string[];
        affectedLocations?: string[];
        airportCode?: string[];
        alertTriggerPreferences?: string[];
        alertTriggerPreferencesValue?: string[];
        enabled?: string[];
        environment?: string[];
        event?: string[];
        eventSource?: string[];
        eventType?: string[];
        groupBy?: string[];
        healthCheckId?: string[];
        incidentImpact?: ("INCIDENT_IMPACT_NONE" | "INCIDENT_IMPACT_MINOR" | "INCIDENT_IMPACT_MAJOR" | "INCIDENT_IMPACT_CRITICAL")[];
        inputId?: string[];
        insightClass?: string[];
        limit?: string[];
        logoTag?: string[];
        megabitsPerSecond?: string[];
        newHealth?: string[];
        newStatus?: string[];
        packetsPerSecond?: string[];
        poolId?: string[];
        popNames?: string[];
        product?: string[];
        projectId?: string[];
        protocol?: string[];
        queryTag?: string[];
        requestsPerSecond?: string[];
        selectors?: string[];
        services?: string[];
        slo?: string[];
        status?: string[];
        targetHostname?: string[];
        targetIp?: string[];
        targetZoneName?: string[];
        trafficExclusions?: "security_events"[];
        tunnelId?: string[];
        tunnelName?: string[];
        type?: string[];
        where?: string[];
        zones?: string[];
    };
    /** Body param: List of IDs that will be used when dispatching a notification. IDs for email type will be the email address. */
    mechanisms?: {
        email?: {
            id?: string;
        }[];
        pagerduty?: {
            id?: string;
        }[];
        webhooks?: {
            id?: string;
        }[];
    };
    /** Body param: Name of the policy. */
    name?: string;
}
export declare const UpdatePolicyRequest: Schema.Schema<UpdatePolicyRequest>;
export interface UpdatePolicyResponse {
    /** UUID */
    id?: string | null;
}
export declare const UpdatePolicyResponse: Schema.Schema<UpdatePolicyResponse>;
export type UpdatePolicyError = DefaultErrors | InvalidRoute | PolicyNotFound | InvalidAlertType | MechanismRequired;
export declare const updatePolicy: API.OperationMethod<UpdatePolicyRequest, UpdatePolicyResponse, UpdatePolicyError, Credentials | HttpClient.HttpClient>;
export interface DeletePolicyRequest {
    policyId: string;
    /** The account id */
    accountId: string;
}
export declare const DeletePolicyRequest: Schema.Schema<DeletePolicyRequest>;
export interface DeletePolicyResponse {
    errors?: {
        message: string;
        code?: number | null;
    }[] | null;
    messages?: {
        message: string;
        code?: number | null;
    }[] | null;
    /** Whether the API call was successful */
    success?: true | null;
    resultInfo?: {
        count?: number | null;
        page?: number | null;
        perPage?: number | null;
        totalCount?: number | null;
    } | null;
}
export declare const DeletePolicyResponse: Schema.Schema<DeletePolicyResponse>;
export type DeletePolicyError = DefaultErrors | InvalidRoute | PolicyNotFound;
export declare const deletePolicy: API.OperationMethod<DeletePolicyRequest, DeletePolicyResponse, DeletePolicyError, Credentials | HttpClient.HttpClient>;
export interface GetSilenceRequest {
    silenceId: string;
    /** The account id */
    accountId: string;
}
export declare const GetSilenceRequest: Schema.Schema<GetSilenceRequest>;
export interface GetSilenceResponse {
    /** Silence ID */
    id?: string | null;
    /** When the silence was created. */
    createdAt?: string | null;
    /** When the silence ends. */
    endTime?: string | null;
    /** The unique identifier of a notification policy */
    policyId?: string | null;
    /** When the silence starts. */
    startTime?: string | null;
    /** When the silence was modified. */
    updatedAt?: string | null;
}
export declare const GetSilenceResponse: Schema.Schema<GetSilenceResponse>;
export type GetSilenceError = DefaultErrors | InvalidRoute | InternalServerError;
export declare const getSilence: API.OperationMethod<GetSilenceRequest, GetSilenceResponse, GetSilenceError, Credentials | HttpClient.HttpClient>;
export interface ListSilencesRequest {
    /** The account id */
    accountId: string;
}
export declare const ListSilencesRequest: Schema.Schema<ListSilencesRequest>;
export interface ListSilencesResponse {
    result: {
        id?: string | null;
        createdAt?: string | null;
        endTime?: string | null;
        policyId?: string | null;
        startTime?: string | null;
        updatedAt?: string | null;
    }[];
}
export declare const ListSilencesResponse: Schema.Schema<ListSilencesResponse>;
export type ListSilencesError = DefaultErrors;
export declare const listSilences: API.PaginatedOperationMethod<ListSilencesRequest, ListSilencesResponse, ListSilencesError, Credentials | HttpClient.HttpClient>;
export interface CreateSilenceRequest {
    /** Path param: The account id */
    accountId: string;
    /** Body param: */
    body: {
        endTime?: string;
        policyId?: string;
        startTime?: string;
    }[];
}
export declare const CreateSilenceRequest: Schema.Schema<CreateSilenceRequest>;
export interface CreateSilenceResponse {
    errors: {
        message: string;
        code?: number | null;
    }[];
    messages: {
        message: string;
        code?: number | null;
    }[];
    /** Whether the API call was successful */
    success: true;
}
export declare const CreateSilenceResponse: Schema.Schema<CreateSilenceResponse>;
export type CreateSilenceError = DefaultErrors | InvalidRoute;
export declare const createSilence: API.OperationMethod<CreateSilenceRequest, CreateSilenceResponse, CreateSilenceError, Credentials | HttpClient.HttpClient>;
export interface UpdateSilenceRequest {
    /** Path param: The account id */
    accountId: string;
    /** Body param: */
    body: {
        id?: string;
        endTime?: string;
        startTime?: string;
    }[];
}
export declare const UpdateSilenceRequest: Schema.Schema<UpdateSilenceRequest>;
export interface UpdateSilenceResponse {
    result: {
        id?: string | null;
        createdAt?: string | null;
        endTime?: string | null;
        policyId?: string | null;
        startTime?: string | null;
        updatedAt?: string | null;
    }[];
}
export declare const UpdateSilenceResponse: Schema.Schema<UpdateSilenceResponse>;
export type UpdateSilenceError = DefaultErrors;
export declare const updateSilence: API.PaginatedOperationMethod<UpdateSilenceRequest, UpdateSilenceResponse, UpdateSilenceError, Credentials | HttpClient.HttpClient>;
export interface DeleteSilenceRequest {
    silenceId: string;
    /** The account id */
    accountId: string;
}
export declare const DeleteSilenceRequest: Schema.Schema<DeleteSilenceRequest>;
export interface DeleteSilenceResponse {
    errors: {
        message: string;
        code?: number | null;
    }[];
    messages: {
        message: string;
        code?: number | null;
    }[];
    /** Whether the API call was successful */
    success: true;
}
export declare const DeleteSilenceResponse: Schema.Schema<DeleteSilenceResponse>;
export type DeleteSilenceError = DefaultErrors | InvalidRoute;
export declare const deleteSilence: API.OperationMethod<DeleteSilenceRequest, DeleteSilenceResponse, DeleteSilenceError, Credentials | HttpClient.HttpClient>;
export {};
//# sourceMappingURL=alerting.d.ts.map