export interface RegionMapInputValue {
    /** The KMS key used to encrypt the data in your replication set. */
    sseKmsKeyId?: string;
}
export interface IncidentTemplate {
    /** The title of the incident. */
    title: string;
    /** The impact of the incident on your customers and applications. Supported impact codes 1 - Critical 2 - High 3 - Medium 4 - Low 5 - No Impact */
    impact: number;
    /** The summary of the incident. The summary is a brief synopsis of what occurred, what's currently happening, and context. */
    summary?: string;
    /** The string Incident Manager uses to prevent the same root cause from creating multiple incidents in the same account. A deduplication string is a term or phrase the system uses to check for duplicate  */
    dedupeString?: string;
    /** The Amazon SNS targets that are notified when updates are made to an incident. */
    notificationTargets?: any[];
    /** Tags to assign to the template. When the StartIncident API action is called, Incident Manager assigns the tags specified in the template to the incident. */
    incidentTags?: Record<string, string>;
}
export interface Filter {
    /** The key that you're filtering on. */
    key: string;
    /** The condition accepts before or after a specified time, equal to a string, or equal to an integer. */
    condition: any;
}
export interface TriggerDetails {
    /** Identifies the service that sourced the event. All events sourced from within Amazon Web Services begin with "aws." Customer-generated events can have any value here, as long as it doesn't begin with  */
    source: string;
    /** The Amazon Resource Name (ARN) of the source that detected the incident. */
    triggerArn?: string;
    /** The timestamp for when the incident was detected. */
    timestamp: string;
    /** Raw data passed from either Amazon EventBridge, Amazon CloudWatch, or Incident Manager when an incident is created. */
    rawData?: string;
}
export interface RelatedItem {
    /** Details about the related item. */
    identifier: any;
    /** The title of the related item. */
    title?: string;
    /** A unique ID for a RelatedItem. Don't specify this parameter when you add a RelatedItem by using the UpdateRelatedItems API action. */
    generatedId?: string;
}
export interface ItemIdentifier {
    /** Details about the related item. */
    value: any;
    /** The type of related item. */
    type: 'ANALYSIS' | 'INCIDENT' | 'METRIC' | 'PARENT' | 'ATTACHMENT' | 'OTHER' | 'AUTOMATION' | 'INVOLVED_RESOURCE' | 'TASK';
}
export interface BatchGetIncidentFindingsInput {
    /** A list of IDs of findings for which you want to view details. */
    findingIds: string[];
    /** The Amazon Resource Name (ARN) of the incident for which you want to view finding details. */
    incidentRecordArn: string;
}
export interface CreateReplicationSetInput {
    /** The Regions that Incident Manager replicates your data to. You can have up to three Regions in your replication set. */
    regions: Record<string, RegionMapInputValue>;
    /** A token that ensures that the operation is called only once with the specified details. */
    clientToken?: string;
    /** A list of tags to add to the replication set. */
    tags?: Record<string, string>;
}
export interface CreateResponsePlanInput {
    /** Details used to create an incident when using this response plan. */
    incidentTemplate: IncidentTemplate;
    /** The short format name of the response plan. Can't include spaces. */
    name: string;
    /** The actions that the response plan starts at the beginning of an incident. */
    actions?: {
        ssmAutomation?: any;
    }[];
    /** The Chatbot chat channel used for collaboration during an incident. */
    chatChannel?: {
        empty?: Record<string, any>;
    } | {
        chatbotSns?: string[];
    };
    /** A token ensuring that the operation is called only once with the specified details. */
    clientToken?: string;
    /** The long format of the response plan name. This field can contain spaces. */
    displayName?: string;
    /** The Amazon Resource Name (ARN) for the contacts and escalation plans that the response plan engages during an incident. */
    engagements?: string[];
    /** Information about third-party services integrated into the response plan. */
    integrations?: {
        pagerDutyConfiguration?: any;
    }[];
    /** A list of tags that you are adding to the response plan. */
    tags?: Record<string, string>;
}
export interface CreateTimelineEventInput {
    /** A short description of the event. */
    eventData: string;
    /** The timestamp for when the event occurred. */
    eventTime: string;
    /** The type of event. You can create timeline events of type Custom Event and Note. To make a Note-type event appear on the Incident notes panel in the console, specify eventType as Noteand enter the Ama */
    eventType: string;
    /** The Amazon Resource Name (ARN) of the incident record that the action adds the incident to. */
    incidentRecordArn: string;
    /** A token that ensures that a client calls the action only once with the specified details. */
    clientToken?: string;
    /** Adds one or more references to the TimelineEvent. A reference is an Amazon Web Services resource involved or associated with the incident. To specify a reference, enter its Amazon Resource Name (ARN). */
    eventReferences?: {
        resource?: string;
    } | {
        relatedItemId?: string;
    }[];
}
export interface DeleteIncidentRecordInput {
    /** The Amazon Resource Name (ARN) of the incident record you are deleting. */
    arn: string;
}
export interface DeleteReplicationSetInput {
    /** The Amazon Resource Name (ARN) of the replication set you're deleting. */
    arn: string;
}
export interface DeleteResourcePolicyInput {
    /** The ID of the resource policy you're deleting. */
    policyId: string;
    /** The Amazon Resource Name (ARN) of the resource you're deleting the policy from. */
    resourceArn: string;
}
export interface DeleteResponsePlanInput {
    /** The Amazon Resource Name (ARN) of the response plan. */
    arn: string;
}
export interface DeleteTimelineEventInput {
    /** The ID of the event to update. You can use ListTimelineEvents to find an event's ID. */
    eventId: string;
    /** The Amazon Resource Name (ARN) of the incident that includes the timeline event. */
    incidentRecordArn: string;
}
export interface GetIncidentRecordInput {
    /** The Amazon Resource Name (ARN) of the incident record. */
    arn: string;
}
export interface GetReplicationSetInput {
    /** The Amazon Resource Name (ARN) of the replication set you want to retrieve. */
    arn: string;
}
export interface GetResourcePoliciesInput {
    /** The Amazon Resource Name (ARN) of the response plan with the attached resource policy. */
    resourceArn: string;
    /** The maximum number of resource policies to display for each page of results. */
    maxResults?: number;
    /** The pagination token for the next set of items to return. (You received this token from a previous call.) */
    nextToken?: string;
}
export interface GetResponsePlanInput {
    /** The Amazon Resource Name (ARN) of the response plan. */
    arn: string;
}
export interface GetTimelineEventInput {
    /** The ID of the event. You can get an event's ID when you create it, or by using ListTimelineEvents. */
    eventId: string;
    /** The Amazon Resource Name (ARN) of the incident that includes the timeline event. */
    incidentRecordArn: string;
}
export interface ListIncidentFindingsInput {
    /** The Amazon Resource Name (ARN) of the incident for which you want to view associated findings. */
    incidentRecordArn: string;
    /** The maximum number of findings to retrieve per call. */
    maxResults?: number;
    /** The pagination token for the next set of items to return. (You received this token from a previous call.) */
    nextToken?: string;
}
export interface ListIncidentRecordsInput {
    /** Filters the list of incident records you want to search through. You can filter on the following keys: creationTime impact status createdBy Note the following when when you use Filters: If you don't s */
    filters?: Filter[];
    /** The maximum number of results per page. */
    maxResults?: number;
    /** The pagination token for the next set of items to return. (You received this token from a previous call.) */
    nextToken?: string;
}
export interface ListRelatedItemsInput {
    /** The Amazon Resource Name (ARN) of the incident record containing the listed related items. */
    incidentRecordArn: string;
    /** The maximum number of related items per page. */
    maxResults?: number;
    /** The pagination token for the next set of items to return. (You received this token from a previous call.) */
    nextToken?: string;
}
export interface ListReplicationSetsInput {
    /** The maximum number of results per page. */
    maxResults?: number;
    /** The pagination token for the next set of items to return. (You received this token from a previous call.) */
    nextToken?: string;
}
export interface ListResponsePlansInput {
    /** The maximum number of response plans per page. */
    maxResults?: number;
    /** The pagination token for the next set of items to return. (You received this token from a previous call.) */
    nextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The Amazon Resource Name (ARN) of the response plan or incident. */
    resourceArn: string;
}
export interface ListTimelineEventsInput {
    /** The Amazon Resource Name (ARN) of the incident that includes the timeline event. */
    incidentRecordArn: string;
    /** Filters the timeline events based on the provided conditional values. You can filter timeline events with the following keys: eventReference eventTime eventType Note the following when deciding how to */
    filters?: Filter[];
    /** The maximum number of results per page. */
    maxResults?: number;
    /** The pagination token for the next set of items to return. (You received this token from a previous call.) */
    nextToken?: string;
    /** Sort timeline events by the specified key value pair. */
    sortBy?: 'EVENT_TIME';
    /** Sorts the order of timeline events by the value specified in the sortBy field. */
    sortOrder?: 'ASCENDING' | 'DESCENDING';
}
export interface PutResourcePolicyInput {
    /** Details of the resource policy. */
    policy: string;
    /** The Amazon Resource Name (ARN) of the response plan to add the resource policy to. */
    resourceArn: string;
}
export interface StartIncidentInput {
    /** The Amazon Resource Name (ARN) of the response plan that pre-defines summary, chat channels, Amazon SNS topics, runbooks, title, and impact of the incident. */
    responsePlanArn: string;
    /** A token ensuring that the operation is called only once with the specified details. */
    clientToken?: string;
    /** Defines the impact to the customers. Providing an impact overwrites the impact provided by a response plan. Supported impact codes 1 - Critical 2 - High 3 - Medium 4 - Low 5 - No Impact */
    impact?: number;
    /** Add related items to the incident for other responders to use. Related items are Amazon Web Services resources, external links, or files uploaded to an Amazon S3 bucket. */
    relatedItems?: RelatedItem[];
    /** Provide a title for the incident. Providing a title overwrites the title provided by the response plan. */
    title?: string;
    /** Details of what created the incident record in Incident Manager. */
    triggerDetails?: TriggerDetails;
}
export interface TagResourceInput {
    /** The Amazon Resource Name (ARN) of the response plan you're adding the tags to. */
    resourceArn: string;
    /** A list of tags to add to the response plan. */
    tags: Record<string, string>;
}
export interface UntagResourceInput {
    /** The Amazon Resource Name (ARN) of the response plan you're removing a tag from. */
    resourceArn: string;
    /** The name of the tag to remove from the response plan. */
    tagKeys: string[];
}
export interface UpdateDeletionProtectionInput {
    /** The Amazon Resource Name (ARN) of the replication set to update. */
    arn: string;
    /** Specifies if deletion protection is turned on or off in your account. */
    deletionProtected: boolean;
    /** A token that ensures that the operation is called only once with the specified details. */
    clientToken?: string;
}
export interface UpdateIncidentRecordInput {
    /** The Amazon Resource Name (ARN) of the incident record you are updating. */
    arn: string;
    /** The Chatbot chat channel where responders can collaborate. */
    chatChannel?: {
        empty?: Record<string, any>;
    } | {
        chatbotSns?: string[];
    };
    /** A token that ensures that a client calls the operation only once with the specified details. */
    clientToken?: string;
    /** Defines the impact of the incident to customers and applications. If you provide an impact for an incident, it overwrites the impact provided by the response plan. Supported impact codes 1 - Critical  */
    impact?: number;
    /** The Amazon SNS targets that Incident Manager notifies when a client updates an incident. Using multiple SNS topics creates redundancy in the event that a Region is down during the incident. */
    notificationTargets?: {
        snsTopicArn?: string;
    }[];
    /** The status of the incident. Possible statuses are Open or Resolved. */
    status?: 'OPEN' | 'RESOLVED';
    /** A longer description of what occurred during the incident. */
    summary?: string;
    /** A brief description of the incident. */
    title?: string;
}
export interface UpdateRelatedItemsInput {
    /** The Amazon Resource Name (ARN) of the incident record that contains the related items that you update. */
    incidentRecordArn: string;
    /** Details about the item that you are add to, or delete from, an incident. */
    relatedItemsUpdate: {
        itemToAdd?: RelatedItem;
    } | {
        itemToRemove?: ItemIdentifier;
    };
    /** A token that ensures that a client calls the operation only once with the specified details. */
    clientToken?: string;
}
export interface UpdateReplicationSetInput {
    /** An action to add or delete a Region. */
    actions: {
        addRegionAction?: any;
    } | {
        deleteRegionAction?: any;
    }[];
    /** The Amazon Resource Name (ARN) of the replication set you're updating. */
    arn: string;
    /** A token that ensures that the operation is called only once with the specified details. */
    clientToken?: string;
}
export interface UpdateResponsePlanInput {
    /** The Amazon Resource Name (ARN) of the response plan. */
    arn: string;
    /** The actions that this response plan takes at the beginning of an incident. */
    actions?: {
        ssmAutomation?: any;
    }[];
    /** The Chatbot chat channel used for collaboration during an incident. Use the empty structure to remove the chat channel from the response plan. */
    chatChannel?: {
        empty?: Record<string, any>;
    } | {
        chatbotSns?: string[];
    };
    /** A token ensuring that the operation is called only once with the specified details. */
    clientToken?: string;
    /** The long format name of the response plan. The display name can't contain spaces. */
    displayName?: string;
    /** The Amazon Resource Name (ARN) for the contacts and escalation plans that the response plan engages during an incident. */
    engagements?: string[];
    /** The string Incident Manager uses to prevent duplicate incidents from being created by the same incident in the same account. */
    incidentTemplateDedupeString?: string;
    /** Defines the impact to the customers. Providing an impact overwrites the impact provided by a response plan. Supported impact codes 1 - Critical 2 - High 3 - Medium 4 - Low 5 - No Impact */
    incidentTemplateImpact?: number;
    /** The Amazon SNS targets that are notified when updates are made to an incident. */
    incidentTemplateNotificationTargets?: {
        snsTopicArn?: string;
    }[];
    /** A brief summary of the incident. This typically contains what has happened, what's currently happening, and next steps. */
    incidentTemplateSummary?: string;
    /** Tags to assign to the template. When the StartIncident API action is called, Incident Manager assigns the tags specified in the template to the incident. To call this action, you must also have permis */
    incidentTemplateTags?: Record<string, string>;
    /** The short format name of the incident. The title can't contain spaces. */
    incidentTemplateTitle?: string;
    /** Information about third-party services integrated into the response plan. */
    integrations?: {
        pagerDutyConfiguration?: any;
    }[];
}
export interface UpdateTimelineEventInput {
    /** The ID of the event to update. You can use ListTimelineEvents to find an event's ID. */
    eventId: string;
    /** The Amazon Resource Name (ARN) of the incident that includes the timeline event. */
    incidentRecordArn: string;
    /** A token that ensures that a client calls the operation only once with the specified details. */
    clientToken?: string;
    /** A short description of the event. */
    eventData?: string;
    /** Updates all existing references in a TimelineEvent. A reference is an Amazon Web Services resource involved or associated with the incident. To specify a reference, enter its Amazon Resource Name (ARN */
    eventReferences?: {
        resource?: string;
    } | {
        relatedItemId?: string;
    }[];
    /** The timestamp for when the event occurred. */
    eventTime?: string;
    /** The type of event. You can update events of type Custom Event and Note. */
    eventType?: string;
}
/** SSM Incidents service binding for Step Functions SDK integrations. */
export declare class SSMIncidents {
    constructor();
    batchGetIncidentFindings<T>(params: BatchGetIncidentFindingsInput): Promise<T>;
    createReplicationSet<T>(params: CreateReplicationSetInput): Promise<T>;
    createResponsePlan<T>(params: CreateResponsePlanInput): Promise<T>;
    createTimelineEvent<T>(params: CreateTimelineEventInput): Promise<T>;
    deleteIncidentRecord<T>(params: DeleteIncidentRecordInput): Promise<T>;
    deleteReplicationSet<T>(params: DeleteReplicationSetInput): Promise<T>;
    deleteResourcePolicy<T>(params: DeleteResourcePolicyInput): Promise<T>;
    deleteResponsePlan<T>(params: DeleteResponsePlanInput): Promise<T>;
    deleteTimelineEvent<T>(params: DeleteTimelineEventInput): Promise<T>;
    getIncidentRecord<T>(params: GetIncidentRecordInput): Promise<T>;
    getReplicationSet<T>(params: GetReplicationSetInput): Promise<T>;
    getResourcePolicies<T>(params: GetResourcePoliciesInput): Promise<T>;
    getResponsePlan<T>(params: GetResponsePlanInput): Promise<T>;
    getTimelineEvent<T>(params: GetTimelineEventInput): Promise<T>;
    listIncidentFindings<T>(params: ListIncidentFindingsInput): Promise<T>;
    listIncidentRecords<T>(params: ListIncidentRecordsInput): Promise<T>;
    listRelatedItems<T>(params: ListRelatedItemsInput): Promise<T>;
    listReplicationSets<T>(params: ListReplicationSetsInput): Promise<T>;
    listResponsePlans<T>(params: ListResponsePlansInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    listTimelineEvents<T>(params: ListTimelineEventsInput): Promise<T>;
    putResourcePolicy<T>(params: PutResourcePolicyInput): Promise<T>;
    startIncident<T>(params: StartIncidentInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateDeletionProtection<T>(params: UpdateDeletionProtectionInput): Promise<T>;
    updateIncidentRecord<T>(params: UpdateIncidentRecordInput): Promise<T>;
    updateRelatedItems<T>(params: UpdateRelatedItemsInput): Promise<T>;
    updateReplicationSet<T>(params: UpdateReplicationSetInput): Promise<T>;
    updateResponsePlan<T>(params: UpdateResponsePlanInput): Promise<T>;
    updateTimelineEvent<T>(params: UpdateTimelineEventInput): Promise<T>;
}
//# sourceMappingURL=SSMIncidents.d.ts.map