import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
import * as outputs from "./types/output";
export declare class EmailIntegration extends pulumi.CustomResource {
    /**
     * Get an existing EmailIntegration resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param state Any extra arguments used during the lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, state?: EmailIntegrationState, opts?: pulumi.CustomResourceOptions): EmailIntegration;
    /**
     * Returns true if the given object is an instance of EmailIntegration.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is EmailIntegration;
    /**
     * When acknowledging an incident, how to extract an alert id, a unique alert identifier which will be used to acknowledge
     * and resolve incidents.
     */
    readonly acknowledgedAlertIdField: pulumi.Output<outputs.EmailIntegrationAcknowledgedAlertIdField | undefined>;
    /**
     * Should an incident be acknowledged for all emails, those satisfying all acknowledged_rules, or those satisfying any of
     * them. Valid values are unused, all, or any
     */
    readonly acknowledgedRuleType: pulumi.Output<string>;
    /**
     * An array of rules to match to acknowledge an incident.
     */
    readonly acknowledgedRules: pulumi.Output<outputs.EmailIntegrationAcknowledgedRule[] | undefined>;
    /**
     * Whether to call when a new incident is created.
     */
    readonly call: pulumi.Output<boolean>;
    /**
     * A field describing how to extract an incident cause, used as a short description shared with the team member on-call.
     */
    readonly causeField: pulumi.Output<outputs.EmailIntegrationCauseField | undefined>;
    /**
     * The time when this email integration was created.
     */
    readonly createdAt: pulumi.Output<string>;
    /**
     * Whether to send a critical push notification that ignores the mute switch and Do not Disturb mode when a new incident is
     * created.
     */
    readonly criticalAlert: pulumi.Output<boolean>;
    /**
     * Whether to send an email when a new incident is created.
     */
    readonly email: pulumi.Output<boolean>;
    /**
     * The email address we expect emails to receive at.
     */
    readonly emailAddress: pulumi.Output<string>;
    /**
     * The name of this Email integration.
     */
    readonly name: pulumi.Output<string>;
    /**
     * An array of additional fields, which will be extracted when acknowledging an incident.
     */
    readonly otherAcknowledgedFields: pulumi.Output<outputs.EmailIntegrationOtherAcknowledgedField[] | undefined>;
    /**
     * An array of additional fields, which will be extracted when resolving an incident.
     */
    readonly otherResolvedFields: pulumi.Output<outputs.EmailIntegrationOtherResolvedField[] | undefined>;
    /**
     * An array of additional fields, which will be extracted when starting an incident.
     */
    readonly otherStartedFields: pulumi.Output<outputs.EmailIntegrationOtherStartedField[] | undefined>;
    /**
     * Set to true to pause monitoring - we won't notify you about downtime. Set to false to resume monitoring.
     */
    readonly paused: pulumi.Output<boolean>;
    /**
     * ID of the escalation policy associated with the email integration.
     */
    readonly policyId: pulumi.Output<string>;
    /**
     * Whether to send a push notification when a new incident is created.
     */
    readonly push: pulumi.Output<boolean>;
    /**
     * How long the integration must be up to automatically mark an incident as resolved after being down.
     */
    readonly recoveryPeriod: pulumi.Output<number>;
    /**
     * When resolving an incident, how to extract an alert id, a unique alert identifier which will be used to acknowledge and
     * resolve incidents.
     */
    readonly resolvedAlertIdField: pulumi.Output<outputs.EmailIntegrationResolvedAlertIdField | undefined>;
    /**
     * Should an incident be resolved for all emails, those satisfying all resolved_rules, or those satisfying any of them.
     * Valid values are unused, all, or any
     */
    readonly resolvedRuleType: pulumi.Output<string>;
    /**
     * An array of rules to match to resolved an incident.
     */
    readonly resolvedRules: pulumi.Output<outputs.EmailIntegrationResolvedRule[] | undefined>;
    /**
     * Whether to send an SMS when a new incident is created.
     */
    readonly sms: pulumi.Output<boolean>;
    /**
     * When starting an incident, how to extract an alert id, a unique alert identifier which will be used to acknowledge and
     * resolve incidents.
     */
    readonly startedAlertIdField: pulumi.Output<outputs.EmailIntegrationStartedAlertIdField | undefined>;
    /**
     * Should an incident be started for all emails, those satisfying all started_rules, or those satisfying any of them. Valid
     * values are unused, all, or any
     */
    readonly startedRuleType: pulumi.Output<string>;
    /**
     * An array of rules to match to start a new incident.
     */
    readonly startedRules: pulumi.Output<outputs.EmailIntegrationStartedRule[] | undefined>;
    /**
     * Used to specify the team the resource should be created in when using global tokens.
     */
    readonly teamName: pulumi.Output<string | undefined>;
    /**
     * How long to wait before escalating the incident alert to the team. Leave blank to disable escalating to the entire team.
     */
    readonly teamWait: pulumi.Output<number>;
    /**
     * The time when this email integration was updated.
     */
    readonly updatedAt: pulumi.Output<string>;
    /**
     * Create a EmailIntegration resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args: EmailIntegrationArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering EmailIntegration resources.
 */
export interface EmailIntegrationState {
    /**
     * When acknowledging an incident, how to extract an alert id, a unique alert identifier which will be used to acknowledge
     * and resolve incidents.
     */
    acknowledgedAlertIdField?: pulumi.Input<inputs.EmailIntegrationAcknowledgedAlertIdField>;
    /**
     * Should an incident be acknowledged for all emails, those satisfying all acknowledged_rules, or those satisfying any of
     * them. Valid values are unused, all, or any
     */
    acknowledgedRuleType?: pulumi.Input<string>;
    /**
     * An array of rules to match to acknowledge an incident.
     */
    acknowledgedRules?: pulumi.Input<pulumi.Input<inputs.EmailIntegrationAcknowledgedRule>[]>;
    /**
     * Whether to call when a new incident is created.
     */
    call?: pulumi.Input<boolean>;
    /**
     * A field describing how to extract an incident cause, used as a short description shared with the team member on-call.
     */
    causeField?: pulumi.Input<inputs.EmailIntegrationCauseField>;
    /**
     * The time when this email integration was created.
     */
    createdAt?: pulumi.Input<string>;
    /**
     * Whether to send a critical push notification that ignores the mute switch and Do not Disturb mode when a new incident is
     * created.
     */
    criticalAlert?: pulumi.Input<boolean>;
    /**
     * Whether to send an email when a new incident is created.
     */
    email?: pulumi.Input<boolean>;
    /**
     * The email address we expect emails to receive at.
     */
    emailAddress?: pulumi.Input<string>;
    /**
     * The name of this Email integration.
     */
    name?: pulumi.Input<string>;
    /**
     * An array of additional fields, which will be extracted when acknowledging an incident.
     */
    otherAcknowledgedFields?: pulumi.Input<pulumi.Input<inputs.EmailIntegrationOtherAcknowledgedField>[]>;
    /**
     * An array of additional fields, which will be extracted when resolving an incident.
     */
    otherResolvedFields?: pulumi.Input<pulumi.Input<inputs.EmailIntegrationOtherResolvedField>[]>;
    /**
     * An array of additional fields, which will be extracted when starting an incident.
     */
    otherStartedFields?: pulumi.Input<pulumi.Input<inputs.EmailIntegrationOtherStartedField>[]>;
    /**
     * Set to true to pause monitoring - we won't notify you about downtime. Set to false to resume monitoring.
     */
    paused?: pulumi.Input<boolean>;
    /**
     * ID of the escalation policy associated with the email integration.
     */
    policyId?: pulumi.Input<string>;
    /**
     * Whether to send a push notification when a new incident is created.
     */
    push?: pulumi.Input<boolean>;
    /**
     * How long the integration must be up to automatically mark an incident as resolved after being down.
     */
    recoveryPeriod?: pulumi.Input<number>;
    /**
     * When resolving an incident, how to extract an alert id, a unique alert identifier which will be used to acknowledge and
     * resolve incidents.
     */
    resolvedAlertIdField?: pulumi.Input<inputs.EmailIntegrationResolvedAlertIdField>;
    /**
     * Should an incident be resolved for all emails, those satisfying all resolved_rules, or those satisfying any of them.
     * Valid values are unused, all, or any
     */
    resolvedRuleType?: pulumi.Input<string>;
    /**
     * An array of rules to match to resolved an incident.
     */
    resolvedRules?: pulumi.Input<pulumi.Input<inputs.EmailIntegrationResolvedRule>[]>;
    /**
     * Whether to send an SMS when a new incident is created.
     */
    sms?: pulumi.Input<boolean>;
    /**
     * When starting an incident, how to extract an alert id, a unique alert identifier which will be used to acknowledge and
     * resolve incidents.
     */
    startedAlertIdField?: pulumi.Input<inputs.EmailIntegrationStartedAlertIdField>;
    /**
     * Should an incident be started for all emails, those satisfying all started_rules, or those satisfying any of them. Valid
     * values are unused, all, or any
     */
    startedRuleType?: pulumi.Input<string>;
    /**
     * An array of rules to match to start a new incident.
     */
    startedRules?: pulumi.Input<pulumi.Input<inputs.EmailIntegrationStartedRule>[]>;
    /**
     * Used to specify the team the resource should be created in when using global tokens.
     */
    teamName?: pulumi.Input<string>;
    /**
     * How long to wait before escalating the incident alert to the team. Leave blank to disable escalating to the entire team.
     */
    teamWait?: pulumi.Input<number>;
    /**
     * The time when this email integration was updated.
     */
    updatedAt?: pulumi.Input<string>;
}
/**
 * The set of arguments for constructing a EmailIntegration resource.
 */
export interface EmailIntegrationArgs {
    /**
     * When acknowledging an incident, how to extract an alert id, a unique alert identifier which will be used to acknowledge
     * and resolve incidents.
     */
    acknowledgedAlertIdField?: pulumi.Input<inputs.EmailIntegrationAcknowledgedAlertIdField>;
    /**
     * Should an incident be acknowledged for all emails, those satisfying all acknowledged_rules, or those satisfying any of
     * them. Valid values are unused, all, or any
     */
    acknowledgedRuleType: pulumi.Input<string>;
    /**
     * An array of rules to match to acknowledge an incident.
     */
    acknowledgedRules?: pulumi.Input<pulumi.Input<inputs.EmailIntegrationAcknowledgedRule>[]>;
    /**
     * Whether to call when a new incident is created.
     */
    call?: pulumi.Input<boolean>;
    /**
     * A field describing how to extract an incident cause, used as a short description shared with the team member on-call.
     */
    causeField?: pulumi.Input<inputs.EmailIntegrationCauseField>;
    /**
     * Whether to send a critical push notification that ignores the mute switch and Do not Disturb mode when a new incident is
     * created.
     */
    criticalAlert?: pulumi.Input<boolean>;
    /**
     * Whether to send an email when a new incident is created.
     */
    email?: pulumi.Input<boolean>;
    /**
     * The name of this Email integration.
     */
    name?: pulumi.Input<string>;
    /**
     * An array of additional fields, which will be extracted when acknowledging an incident.
     */
    otherAcknowledgedFields?: pulumi.Input<pulumi.Input<inputs.EmailIntegrationOtherAcknowledgedField>[]>;
    /**
     * An array of additional fields, which will be extracted when resolving an incident.
     */
    otherResolvedFields?: pulumi.Input<pulumi.Input<inputs.EmailIntegrationOtherResolvedField>[]>;
    /**
     * An array of additional fields, which will be extracted when starting an incident.
     */
    otherStartedFields?: pulumi.Input<pulumi.Input<inputs.EmailIntegrationOtherStartedField>[]>;
    /**
     * Set to true to pause monitoring - we won't notify you about downtime. Set to false to resume monitoring.
     */
    paused?: pulumi.Input<boolean>;
    /**
     * ID of the escalation policy associated with the email integration.
     */
    policyId?: pulumi.Input<string>;
    /**
     * Whether to send a push notification when a new incident is created.
     */
    push?: pulumi.Input<boolean>;
    /**
     * How long the integration must be up to automatically mark an incident as resolved after being down.
     */
    recoveryPeriod?: pulumi.Input<number>;
    /**
     * When resolving an incident, how to extract an alert id, a unique alert identifier which will be used to acknowledge and
     * resolve incidents.
     */
    resolvedAlertIdField?: pulumi.Input<inputs.EmailIntegrationResolvedAlertIdField>;
    /**
     * Should an incident be resolved for all emails, those satisfying all resolved_rules, or those satisfying any of them.
     * Valid values are unused, all, or any
     */
    resolvedRuleType: pulumi.Input<string>;
    /**
     * An array of rules to match to resolved an incident.
     */
    resolvedRules?: pulumi.Input<pulumi.Input<inputs.EmailIntegrationResolvedRule>[]>;
    /**
     * Whether to send an SMS when a new incident is created.
     */
    sms?: pulumi.Input<boolean>;
    /**
     * When starting an incident, how to extract an alert id, a unique alert identifier which will be used to acknowledge and
     * resolve incidents.
     */
    startedAlertIdField?: pulumi.Input<inputs.EmailIntegrationStartedAlertIdField>;
    /**
     * Should an incident be started for all emails, those satisfying all started_rules, or those satisfying any of them. Valid
     * values are unused, all, or any
     */
    startedRuleType: pulumi.Input<string>;
    /**
     * An array of rules to match to start a new incident.
     */
    startedRules?: pulumi.Input<pulumi.Input<inputs.EmailIntegrationStartedRule>[]>;
    /**
     * Used to specify the team the resource should be created in when using global tokens.
     */
    teamName?: pulumi.Input<string>;
    /**
     * How long to wait before escalating the incident alert to the team. Leave blank to disable escalating to the entire team.
     */
    teamWait?: pulumi.Input<number>;
}
