export interface Target {
    /** The target type. Can be an Amazon Q Developer in chat applications topic or Amazon Q Developer in chat applications client. Amazon Q Developer in chat applications topics are specified as SNS. Amazon  */
    TargetType?: string;
    /** The Amazon Resource Name (ARN) of the Amazon Q Developer in chat applications topic or Amazon Q Developer in chat applications client. */
    TargetAddress?: string;
}
export interface ListEventTypesFilter {
    /** The system-generated name of the filter type you want to filter by. */
    Name: 'RESOURCE_TYPE' | 'SERVICE_NAME';
    /** The name of the resource type (for example, pipeline) or service name (for example, CodePipeline) that you want to filter by. */
    Value: string;
}
export interface ListNotificationRulesFilter {
    /** The name of the attribute you want to use to filter the returned notification rules. */
    Name: 'EVENT_TYPE_ID' | 'CREATED_BY' | 'RESOURCE' | 'TARGET_ADDRESS';
    /** The value of the attribute you want to use to filter the returned notification rules. For example, if you specify filtering by RESOURCE in Name, you might specify the ARN of a pipeline in CodePipeline */
    Value: string;
}
export interface ListTargetsFilter {
    /** The name of the attribute you want to use to filter the returned targets. */
    Name: 'TARGET_TYPE' | 'TARGET_ADDRESS' | 'TARGET_STATUS';
    /** The value of the attribute you want to use to filter the returned targets. For example, if you specify SNS for the Target type, you could specify an Amazon Resource Name (ARN) for a topic as the value */
    Value: string;
}
export interface CreateNotificationRuleInput {
    /** The level of detail to include in the notifications for this resource. BASIC will include only the contents of the event as it would appear in Amazon CloudWatch. FULL will include any supplemental inf */
    DetailType: 'BASIC' | 'FULL';
    /** A list of event types associated with this notification rule. For a list of allowed events, see EventTypeSummary. */
    EventTypeIds: string[];
    /** The name for the notification rule. Notification rule names must be unique in your Amazon Web Services account. */
    Name: string;
    /** The Amazon Resource Name (ARN) of the resource to associate with the notification rule. Supported resources include pipelines in CodePipeline, repositories in CodeCommit, and build projects in CodeBui */
    Resource: string;
    /** A list of Amazon Resource Names (ARNs) of Amazon Simple Notification Service topics and Amazon Q Developer in chat applications clients to associate with the notification rule. */
    Targets: Target[];
    /** A unique, client-generated idempotency token that, when provided in a request, ensures the request cannot be repeated with a changed parameter. If a request with the same parameters is received and a  */
    ClientRequestToken?: string;
    /** The status of the notification rule. The default value is ENABLED. If the status is set to DISABLED, notifications aren't sent for the notification rule. */
    Status?: 'ENABLED' | 'DISABLED';
    /** A list of tags to apply to this notification rule. Key names cannot start with "aws". */
    Tags?: Record<string, string>;
}
export interface DeleteNotificationRuleInput {
    /** The Amazon Resource Name (ARN) of the notification rule you want to delete. */
    Arn: string;
}
export interface DeleteTargetInput {
    /** The Amazon Resource Name (ARN) of the Amazon Q Developer in chat applications topic or Amazon Q Developer in chat applications client to delete. */
    TargetAddress: string;
    /** A Boolean value that can be used to delete all associations with this Amazon Q Developer in chat applications topic. The default value is FALSE. If set to TRUE, all associations between that target an */
    ForceUnsubscribeAll?: boolean;
}
export interface DescribeNotificationRuleInput {
    /** The Amazon Resource Name (ARN) of the notification rule. */
    Arn: string;
}
export interface ListEventTypesInput {
    /** The filters to use to return information by service or resource type. */
    Filters?: ListEventTypesFilter[];
    /** A non-negative integer used to limit the number of returned results. The default number is 50. The maximum number of results that can be returned is 100. */
    MaxResults?: number;
    /** An enumeration token that, when provided in a request, returns the next batch of the results. */
    NextToken?: string;
}
export interface ListNotificationRulesInput {
    /** The filters to use to return information by service or resource type. For valid values, see ListNotificationRulesFilter. A filter with the same name can appear more than once when used with OR stateme */
    Filters?: ListNotificationRulesFilter[];
    /** A non-negative integer used to limit the number of returned results. The maximum number of results that can be returned is 100. */
    MaxResults?: number;
    /** An enumeration token that, when provided in a request, returns the next batch of the results. */
    NextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The Amazon Resource Name (ARN) for the notification rule. */
    Arn: string;
}
export interface ListTargetsInput {
    /** The filters to use to return information by service or resource type. Valid filters include target type, target address, and target status. A filter with the same name can appear more than once when u */
    Filters?: ListTargetsFilter[];
    /** A non-negative integer used to limit the number of returned results. The maximum number of results that can be returned is 100. */
    MaxResults?: number;
    /** An enumeration token that, when provided in a request, returns the next batch of the results. */
    NextToken?: string;
}
export interface SubscribeInput {
    /** The Amazon Resource Name (ARN) of the notification rule for which you want to create the association. */
    Arn: string;
    Target: Target;
    /** An enumeration token that, when provided in a request, returns the next batch of the results. */
    ClientRequestToken?: string;
}
export interface TagResourceInput {
    /** The Amazon Resource Name (ARN) of the notification rule to tag. */
    Arn: string;
    /** The list of tags to associate with the resource. Tag key names cannot start with "aws". */
    Tags: Record<string, string>;
}
export interface UnsubscribeInput {
    /** The Amazon Resource Name (ARN) of the notification rule. */
    Arn: string;
    /** The ARN of the Amazon Q Developer in chat applications topic to unsubscribe from the notification rule. */
    TargetAddress: string;
}
export interface UntagResourceInput {
    /** The Amazon Resource Name (ARN) of the notification rule from which to remove the tags. */
    Arn: string;
    /** The key names of the tags to remove. */
    TagKeys: string[];
}
export interface UpdateNotificationRuleInput {
    /** The Amazon Resource Name (ARN) of the notification rule. */
    Arn: string;
    /** The level of detail to include in the notifications for this resource. BASIC will include only the contents of the event as it would appear in Amazon CloudWatch. FULL will include any supplemental inf */
    DetailType?: 'BASIC' | 'FULL';
    /** A list of event types associated with this notification rule. For a complete list of event types and IDs, see Notification concepts in the Developer Tools Console User Guide. */
    EventTypeIds?: string[];
    /** The name of the notification rule. */
    Name?: string;
    /** The status of the notification rule. Valid statuses include enabled (sending notifications) or disabled (not sending notifications). */
    Status?: 'ENABLED' | 'DISABLED';
    /** The address and type of the targets to receive notifications from this notification rule. */
    Targets?: Target[];
}
/** codestar notifications service binding for Step Functions SDK integrations. */
export declare class codestarnotifications {
    constructor();
    createNotificationRule<T>(params: CreateNotificationRuleInput): Promise<T>;
    deleteNotificationRule<T>(params: DeleteNotificationRuleInput): Promise<T>;
    deleteTarget<T>(params: DeleteTargetInput): Promise<T>;
    describeNotificationRule<T>(params: DescribeNotificationRuleInput): Promise<T>;
    listEventTypes<T>(params: ListEventTypesInput): Promise<T>;
    listNotificationRules<T>(params: ListNotificationRulesInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    listTargets<T>(params: ListTargetsInput): Promise<T>;
    subscribe<T>(params: SubscribeInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    unsubscribe<T>(params: UnsubscribeInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateNotificationRule<T>(params: UpdateNotificationRuleInput): Promise<T>;
}
//# sourceMappingURL=codestarnotifications.d.ts.map