import { DetailType, ListEventTypesFilterName, ListNotificationRulesFilterName, ListTargetsFilterName, NotificationRuleStatus, TargetStatus, } from "./enums"; export interface Target { TargetType?: string | undefined; TargetAddress?: string | undefined; } export interface CreateNotificationRuleRequest { Name: string | undefined; EventTypeIds: string[] | undefined; Resource: string | undefined; Targets: Target[] | undefined; DetailType: DetailType | undefined; ClientRequestToken?: string | undefined; Tags?: Record | undefined; Status?: NotificationRuleStatus | undefined; } export interface CreateNotificationRuleResult { Arn?: string | undefined; } export interface DeleteNotificationRuleRequest { Arn: string | undefined; } export interface DeleteNotificationRuleResult { Arn?: string | undefined; } export interface DeleteTargetRequest { TargetAddress: string | undefined; ForceUnsubscribeAll?: boolean | undefined; } export interface DeleteTargetResult {} export interface DescribeNotificationRuleRequest { Arn: string | undefined; } export interface EventTypeSummary { EventTypeId?: string | undefined; ServiceName?: string | undefined; EventTypeName?: string | undefined; ResourceType?: string | undefined; } export interface TargetSummary { TargetAddress?: string | undefined; TargetType?: string | undefined; TargetStatus?: TargetStatus | undefined; } export interface DescribeNotificationRuleResult { Arn: string | undefined; Name?: string | undefined; EventTypes?: EventTypeSummary[] | undefined; Resource?: string | undefined; Targets?: TargetSummary[] | undefined; DetailType?: DetailType | undefined; CreatedBy?: string | undefined; Status?: NotificationRuleStatus | undefined; CreatedTimestamp?: Date | undefined; LastModifiedTimestamp?: Date | undefined; Tags?: Record | undefined; } export interface ListEventTypesFilter { Name: ListEventTypesFilterName | undefined; Value: string | undefined; } export interface ListEventTypesRequest { Filters?: ListEventTypesFilter[] | undefined; NextToken?: string | undefined; MaxResults?: number | undefined; } export interface ListEventTypesResult { EventTypes?: EventTypeSummary[] | undefined; NextToken?: string | undefined; } export interface ListNotificationRulesFilter { Name: ListNotificationRulesFilterName | undefined; Value: string | undefined; } export interface ListNotificationRulesRequest { Filters?: ListNotificationRulesFilter[] | undefined; NextToken?: string | undefined; MaxResults?: number | undefined; } export interface NotificationRuleSummary { Id?: string | undefined; Arn?: string | undefined; } export interface ListNotificationRulesResult { NextToken?: string | undefined; NotificationRules?: NotificationRuleSummary[] | undefined; } export interface ListTagsForResourceRequest { Arn: string | undefined; } export interface ListTagsForResourceResult { Tags?: Record | undefined; } export interface ListTargetsFilter { Name: ListTargetsFilterName | undefined; Value: string | undefined; } export interface ListTargetsRequest { Filters?: ListTargetsFilter[] | undefined; NextToken?: string | undefined; MaxResults?: number | undefined; } export interface ListTargetsResult { Targets?: TargetSummary[] | undefined; NextToken?: string | undefined; } export interface SubscribeRequest { Arn: string | undefined; Target: Target | undefined; ClientRequestToken?: string | undefined; } export interface SubscribeResult { Arn?: string | undefined; } export interface TagResourceRequest { Arn: string | undefined; Tags: Record | undefined; } export interface TagResourceResult { Tags?: Record | undefined; } export interface UnsubscribeRequest { Arn: string | undefined; TargetAddress: string | undefined; } export interface UnsubscribeResult { Arn: string | undefined; } export interface UntagResourceRequest { Arn: string | undefined; TagKeys: string[] | undefined; } export interface UntagResourceResult {} export interface UpdateNotificationRuleRequest { Arn: string | undefined; Name?: string | undefined; Status?: NotificationRuleStatus | undefined; EventTypeIds?: string[] | undefined; Targets?: Target[] | undefined; DetailType?: DetailType | undefined; } export interface UpdateNotificationRuleResult {}