import * as core from "@terrascript/core";
export interface TargetArgs extends core.SchemaArgs {
    address: string | core.StringOut;
    status: string | core.StringOut;
    type?: string | core.StringOut;
}
export declare class Target extends core.Schema<TargetArgs> {
    address: string | core.StringOut;
    status: string | core.StringOut;
    type?: string | core.StringOut;
}
export interface NotificationRuleArgs extends core.ResourceArgs {
    /**
     * (Required) The level of detail to include in the notifications for this resource. Possible values ar
     * e `BASIC` and `FULL`.
     */
    detailType: string | core.StringOut;
    /**
     * (Required) A list of event types associated with this notification rule.
     */
    eventTypeIds: core.Array<string> | core.ArrayOut<core.StringOut>;
    /**
     * (Required) The name of notification rule.
     */
    name: string | core.StringOut;
    /**
     * (Required) The ARN of the resource to associate with the notification rule.
     */
    resource: string | core.StringOut;
    /**
     * (Optional) The status of the notification rule. Possible values are `ENABLED` and `DISABLED`, defaul
     * t is `ENABLED`.
     */
    status?: string | core.StringOut;
    /**
     * (Optional) A map of tags to assign to the resource. If configured with a provider [`default_tags` co
     * nfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-co
     * nfiguration-block) present, tags with matching keys will overwrite those defined at the provider-lev
     * el.
     */
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    /**
     * A map of tags assigned to the resource, including those inherited from the provider [`default_tags`
     * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-
     * configuration-block).
     */
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    /**
     * (Optional) Configuration blocks containing notification target information. Can be specified multipl
     * e times. At least one target must be specified on creation.
     */
    target?: core.Array<Target> | core.ArrayOut<Target>;
}
export declare class NotificationRule extends core.Resource<NotificationRuleArgs> {
    /**
     * The codestar notification rule ARN.
     */
    arn: string | core.StringOut;
    /**
     * (Required) The level of detail to include in the notifications for this resource. Possible values ar
     * e `BASIC` and `FULL`.
     */
    detailType: string | core.StringOut;
    /**
     * (Required) A list of event types associated with this notification rule.
     */
    eventTypeIds: core.Array<string> | core.ArrayOut<core.StringOut>;
    /**
     * The codestar notification rule ARN.
     */
    id: string | core.StringOut;
    /**
     * (Required) The name of notification rule.
     */
    name: string | core.StringOut;
    /**
     * (Required) The ARN of the resource to associate with the notification rule.
     */
    resource: string | core.StringOut;
    /**
     * (Optional) The status of the notification rule. Possible values are `ENABLED` and `DISABLED`, defaul
     * t is `ENABLED`.
     */
    status?: string | core.StringOut;
    /**
     * (Optional) A map of tags to assign to the resource. If configured with a provider [`default_tags` co
     * nfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-co
     * nfiguration-block) present, tags with matching keys will overwrite those defined at the provider-lev
     * el.
     */
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    /**
     * A map of tags assigned to the resource, including those inherited from the provider [`default_tags`
     * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-
     * configuration-block).
     */
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    /**
     * (Optional) Configuration blocks containing notification target information. Can be specified multipl
     * e times. At least one target must be specified on creation.
     */
    target?: core.Array<Target> | core.ArrayOut<Target>;
    constructor(name: string, args?: NotificationRuleArgs);
    getNamespace(): string;
}
//# sourceMappingURL=notification_rule.d.ts.map