import * as pulumi from "@pulumi/pulumi";
export declare class Heartbeat extends pulumi.CustomResource {
    /**
     * Get an existing Heartbeat 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?: HeartbeatState, opts?: pulumi.CustomResourceOptions): Heartbeat;
    /**
     * Returns true if the given object is an instance of Heartbeat.  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 Heartbeat;
    /**
     * Whether to call when a new incident is created.
     */
    readonly call: pulumi.Output<boolean>;
    /**
     * The time when this heartbeat 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>;
    /**
     * Heartbeats can fluctuate; specify this value to control what is still acceptable. Minimum value: 0 seconds. We recommend
     * setting this to approx. 20% of period
     */
    readonly grace: pulumi.Output<number>;
    /**
     * Set this attribute if you want to add this heartbeat to a heartbeat group..
     */
    readonly heartbeatGroupId: pulumi.Output<number>;
    /**
     * An array of maintenance days to set. If a maintenance window is overnight both affected days should be set. Allowed
     * values are ["mon", "tue", "wed", "thu", "fri", "sat", "sun"] or any subset of these days.
     */
    readonly maintenanceDays: pulumi.Output<string[]>;
    /**
     * Start of the maintenance window each day. We won't create incidents during this window. Example: "01:00:00"
     */
    readonly maintenanceFrom: pulumi.Output<string>;
    /**
     * The timezone to use for the maintenance window each day. Defaults to UTC. The accepted values can be found in the Rails
     * TimeZone documentation. https://api.rubyonrails.org/classes/ActiveSupport/TimeZone.html
     */
    readonly maintenanceTimezone: pulumi.Output<string>;
    /**
     * End of the maintenance window each day. Example: "03:00:00"
     */
    readonly maintenanceTo: pulumi.Output<string>;
    /**
     * A name of the service for this heartbeat.
     */
    readonly name: pulumi.Output<string>;
    /**
     * Set to true to pause monitoring — we won't notify you about downtime. Set to false to resume monitoring.
     */
    readonly paused: pulumi.Output<boolean>;
    /**
     * The time when this heartbeat was paused.
     */
    readonly pausedAt: pulumi.Output<string>;
    /**
     * How often should we expect this heartbeat? In seconds. Minimum value: 30 seconds
     */
    readonly period: pulumi.Output<number>;
    /**
     * Set the escalation policy for the heartbeat.
     */
    readonly policyId: pulumi.Output<string | undefined>;
    /**
     * Whether to send a push notification when a new incident is created.
     */
    readonly push: pulumi.Output<boolean>;
    /**
     * Whether to send an SMS when a new incident is created.
     */
    readonly sms: pulumi.Output<boolean>;
    /**
     * An index controlling the position of a heartbeat in the heartbeat group.
     */
    readonly sortIndex: pulumi.Output<number>;
    /**
     * The status of this heartbeat.
     */
    readonly status: pulumi.Output<string>;
    /**
     * 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 heartbeat was updated.
     */
    readonly updatedAt: pulumi.Output<string>;
    /**
     * The url of this heartbeat.
     */
    readonly url: pulumi.Output<string>;
    /**
     * Create a Heartbeat 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: HeartbeatArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering Heartbeat resources.
 */
export interface HeartbeatState {
    /**
     * Whether to call when a new incident is created.
     */
    call?: pulumi.Input<boolean>;
    /**
     * The time when this heartbeat 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>;
    /**
     * Heartbeats can fluctuate; specify this value to control what is still acceptable. Minimum value: 0 seconds. We recommend
     * setting this to approx. 20% of period
     */
    grace?: pulumi.Input<number>;
    /**
     * Set this attribute if you want to add this heartbeat to a heartbeat group..
     */
    heartbeatGroupId?: pulumi.Input<number>;
    /**
     * An array of maintenance days to set. If a maintenance window is overnight both affected days should be set. Allowed
     * values are ["mon", "tue", "wed", "thu", "fri", "sat", "sun"] or any subset of these days.
     */
    maintenanceDays?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Start of the maintenance window each day. We won't create incidents during this window. Example: "01:00:00"
     */
    maintenanceFrom?: pulumi.Input<string>;
    /**
     * The timezone to use for the maintenance window each day. Defaults to UTC. The accepted values can be found in the Rails
     * TimeZone documentation. https://api.rubyonrails.org/classes/ActiveSupport/TimeZone.html
     */
    maintenanceTimezone?: pulumi.Input<string>;
    /**
     * End of the maintenance window each day. Example: "03:00:00"
     */
    maintenanceTo?: pulumi.Input<string>;
    /**
     * A name of the service for this heartbeat.
     */
    name?: pulumi.Input<string>;
    /**
     * Set to true to pause monitoring — we won't notify you about downtime. Set to false to resume monitoring.
     */
    paused?: pulumi.Input<boolean>;
    /**
     * The time when this heartbeat was paused.
     */
    pausedAt?: pulumi.Input<string>;
    /**
     * How often should we expect this heartbeat? In seconds. Minimum value: 30 seconds
     */
    period?: pulumi.Input<number>;
    /**
     * Set the escalation policy for the heartbeat.
     */
    policyId?: pulumi.Input<string>;
    /**
     * Whether to send a push notification when a new incident is created.
     */
    push?: pulumi.Input<boolean>;
    /**
     * Whether to send an SMS when a new incident is created.
     */
    sms?: pulumi.Input<boolean>;
    /**
     * An index controlling the position of a heartbeat in the heartbeat group.
     */
    sortIndex?: pulumi.Input<number>;
    /**
     * The status of this heartbeat.
     */
    status?: pulumi.Input<string>;
    /**
     * 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 heartbeat was updated.
     */
    updatedAt?: pulumi.Input<string>;
    /**
     * The url of this heartbeat.
     */
    url?: pulumi.Input<string>;
}
/**
 * The set of arguments for constructing a Heartbeat resource.
 */
export interface HeartbeatArgs {
    /**
     * Whether to call when a new incident is created.
     */
    call?: pulumi.Input<boolean>;
    /**
     * 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>;
    /**
     * Heartbeats can fluctuate; specify this value to control what is still acceptable. Minimum value: 0 seconds. We recommend
     * setting this to approx. 20% of period
     */
    grace: pulumi.Input<number>;
    /**
     * Set this attribute if you want to add this heartbeat to a heartbeat group..
     */
    heartbeatGroupId?: pulumi.Input<number>;
    /**
     * An array of maintenance days to set. If a maintenance window is overnight both affected days should be set. Allowed
     * values are ["mon", "tue", "wed", "thu", "fri", "sat", "sun"] or any subset of these days.
     */
    maintenanceDays?: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * Start of the maintenance window each day. We won't create incidents during this window. Example: "01:00:00"
     */
    maintenanceFrom?: pulumi.Input<string>;
    /**
     * The timezone to use for the maintenance window each day. Defaults to UTC. The accepted values can be found in the Rails
     * TimeZone documentation. https://api.rubyonrails.org/classes/ActiveSupport/TimeZone.html
     */
    maintenanceTimezone?: pulumi.Input<string>;
    /**
     * End of the maintenance window each day. Example: "03:00:00"
     */
    maintenanceTo?: pulumi.Input<string>;
    /**
     * A name of the service for this heartbeat.
     */
    name?: pulumi.Input<string>;
    /**
     * Set to true to pause monitoring — we won't notify you about downtime. Set to false to resume monitoring.
     */
    paused?: pulumi.Input<boolean>;
    /**
     * How often should we expect this heartbeat? In seconds. Minimum value: 30 seconds
     */
    period: pulumi.Input<number>;
    /**
     * Set the escalation policy for the heartbeat.
     */
    policyId?: pulumi.Input<string>;
    /**
     * Whether to send a push notification when a new incident is created.
     */
    push?: pulumi.Input<boolean>;
    /**
     * Whether to send an SMS when a new incident is created.
     */
    sms?: pulumi.Input<boolean>;
    /**
     * An index controlling the position of a heartbeat in the heartbeat group.
     */
    sortIndex?: pulumi.Input<number>;
    /**
     * 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>;
}
