export interface Plan {
    /** A list of stages that the escalation plan or engagement plan uses to engage contacts and contact methods. */
    Stages?: any[];
    /** The Amazon Resource Names (ARNs) of the on-call rotations associated with the plan. */
    RotationIds?: string[];
}
export interface Tag {
    /** Name of the object key. */
    Key?: string;
    /** Value of the tag. */
    Value?: string;
}
export interface ContactChannelAddress {
    /** The format is dependent on the type of the contact channel. The following are the expected formats: SMS - '+' followed by the country code and phone number VOICE - '+' followed by the country code and */
    SimpleAddress?: string;
}
export interface RecurrenceSettings {
    /** Information about on-call rotations that recur monthly. */
    MonthlySettings?: any[];
    /** Information about on-call rotations that recur weekly. */
    WeeklySettings?: any[];
    /** Information about on-call rotations that recur daily. */
    DailySettings?: any[];
    /** The number of contacts, or shift team members designated to be on call concurrently during a shift. For example, in an on-call schedule that contains ten contacts, a value of 2 designates that two of  */
    NumberOfOnCalls: number;
    /** Information about the days of the week that the on-call rotation coverage includes. */
    ShiftCoverages?: Record<string, any[]>;
    /** The number of days, weeks, or months a single rotation lasts. */
    RecurrenceMultiplier: number;
}
export interface TimeRange {
    /** The start of the time range. */
    StartTime?: string;
    /** The end of the time range. */
    EndTime?: string;
}
export interface PreviewOverride {
    /** Information about contacts to add to an on-call rotation override. */
    NewMembers?: any[];
    /** Information about the time a rotation override would begin. */
    StartTime?: string;
    /** Information about the time a rotation override would end. */
    EndTime?: string;
}
export interface AcceptPageInput {
    /** A 6-digit code used to acknowledge the page. */
    AcceptCode: string;
    /** The type indicates if the page was DELIVERED or READ. */
    AcceptType: 'DELIVERED' | 'READ';
    /** The Amazon Resource Name (ARN) of the engagement to a contact channel. */
    PageId: string;
    /** An optional field that Incident Manager uses to ENFORCE AcceptCode validation when acknowledging an page. Acknowledgement can occur by replying to a page, or when entering the AcceptCode in the consol */
    AcceptCodeValidation?: 'IGNORE' | 'ENFORCE';
    /** The ARN of the contact channel. */
    ContactChannelId?: string;
    /** Information provided by the user when the user acknowledges the page. */
    Note?: string;
}
export interface ActivateContactChannelInput {
    /** The code sent to the contact channel when it was created in the contact. */
    ActivationCode: string;
    /** The Amazon Resource Name (ARN) of the contact channel. */
    ContactChannelId: string;
}
export interface CreateContactInput {
    /** The short name to quickly identify a contact or escalation plan. The contact alias must be unique and identifiable. */
    Alias: string;
    /** A list of stages. A contact has an engagement plan with stages that contact specified contact channels. An escalation plan uses stages that contact specified contacts. */
    Plan: Plan;
    /** The type of contact to create. PERSONAL: A single, individual contact. ESCALATION: An escalation plan. ONCALL_SCHEDULE: An on-call schedule. */
    Type: 'PERSONAL' | 'ESCALATION' | 'ONCALL_SCHEDULE';
    /** The full name of the contact or escalation plan. */
    DisplayName?: string;
    /** A token ensuring that the operation is called only once with the specified details. */
    IdempotencyToken?: string;
    /** Adds a tag to the target. You can only tag resources created in the first Region of your replication set. */
    Tags?: Tag[];
}
export interface CreateContactChannelInput {
    /** The Amazon Resource Name (ARN) of the contact you are adding the contact channel to. */
    ContactId: string;
    /** The details that Incident Manager uses when trying to engage the contact channel. The format is dependent on the type of the contact channel. The following are the expected formats: SMS - '+' followed */
    DeliveryAddress: ContactChannelAddress;
    /** The name of the contact channel. */
    Name: string;
    /** Incident Manager supports three types of contact channels: SMS VOICE EMAIL */
    Type: 'SMS' | 'VOICE' | 'EMAIL';
    /** If you want to activate the channel at a later time, you can choose to defer activation. Incident Manager can't engage your contact channel until it has been activated. */
    DeferActivation?: boolean;
    /** A token ensuring that the operation is called only once with the specified details. */
    IdempotencyToken?: string;
}
export interface CreateRotationInput {
    /** The Amazon Resource Names (ARNs) of the contacts to add to the rotation. Only the PERSONAL contact type is supported. The contact types ESCALATION and ONCALL_SCHEDULE are not supported for this operat */
    ContactIds: string[];
    /** The name of the rotation. */
    Name: string;
    /** Information about the rule that specifies when a shift's team members rotate. */
    Recurrence: RecurrenceSettings;
    /** The time zone to base the rotation’s activity on in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", "UTC", or "Asia/Seoul". For more information, see the Time Zo */
    TimeZoneId: string;
    /** A token that ensures that the operation is called only once with the specified details. */
    IdempotencyToken?: string;
    /** The date and time that the rotation goes into effect. */
    StartTime?: string;
    /** Optional metadata to assign to the rotation. Tags enable you to categorize a resource in different ways, such as by purpose, owner, or environment. For more information, see Tagging Incident Manager r */
    Tags?: Tag[];
}
export interface CreateRotationOverrideInput {
    /** The date and time when the override ends. */
    EndTime: string;
    /** The Amazon Resource Names (ARNs) of the contacts to replace those in the current on-call rotation with. If you want to include any current team members in the override shift, you must include their AR */
    NewContactIds: string[];
    /** The Amazon Resource Name (ARN) of the rotation to create an override for. */
    RotationId: string;
    /** The date and time when the override goes into effect. */
    StartTime: string;
    /** A token that ensures that the operation is called only once with the specified details. */
    IdempotencyToken?: string;
}
export interface DeactivateContactChannelInput {
    /** The Amazon Resource Name (ARN) of the contact channel you're deactivating. */
    ContactChannelId: string;
}
export interface DeleteContactInput {
    /** The Amazon Resource Name (ARN) of the contact that you're deleting. */
    ContactId: string;
}
export interface DeleteContactChannelInput {
    /** The Amazon Resource Name (ARN) of the contact channel. */
    ContactChannelId: string;
}
export interface DeleteRotationInput {
    /** The Amazon Resource Name (ARN) of the on-call rotation to delete. */
    RotationId: string;
}
export interface DeleteRotationOverrideInput {
    /** The Amazon Resource Name (ARN) of the rotation that was overridden. */
    RotationId: string;
    /** The Amazon Resource Name (ARN) of the on-call rotation override to delete. */
    RotationOverrideId: string;
}
export interface DescribeEngagementInput {
    /** The Amazon Resource Name (ARN) of the engagement you want the details of. */
    EngagementId: string;
}
export interface DescribePageInput {
    /** The ID of the engagement to a contact channel. */
    PageId: string;
}
export interface GetContactInput {
    /** The Amazon Resource Name (ARN) of the contact or escalation plan. */
    ContactId: string;
}
export interface GetContactChannelInput {
    /** The Amazon Resource Name (ARN) of the contact channel you want information about. */
    ContactChannelId: string;
}
export interface GetContactPolicyInput {
    /** The Amazon Resource Name (ARN) of the contact or escalation plan. */
    ContactArn: string;
}
export interface GetRotationInput {
    /** The Amazon Resource Name (ARN) of the on-call rotation to retrieve information about. */
    RotationId: string;
}
export interface GetRotationOverrideInput {
    /** The Amazon Resource Name (ARN) of the overridden rotation to retrieve information about. */
    RotationId: string;
    /** The Amazon Resource Name (ARN) of the on-call rotation override to retrieve information about. */
    RotationOverrideId: string;
}
export interface ListContactChannelsInput {
    /** The Amazon Resource Name (ARN) of the contact. */
    ContactId: string;
    /** The maximum number of contact channels per page. */
    MaxResults?: number;
    /** The pagination token to continue to the next page of results. */
    NextToken?: string;
}
export interface ListContactsInput {
    /** Used to list only contacts who's aliases start with the specified prefix. */
    AliasPrefix?: string;
    /** The maximum number of contacts and escalation plans per page of results. */
    MaxResults?: number;
    /** The pagination token to continue to the next page of results. */
    NextToken?: string;
    /** The type of contact. */
    Type?: 'PERSONAL' | 'ESCALATION' | 'ONCALL_SCHEDULE';
}
export interface ListEngagementsInput {
    /** The Amazon Resource Name (ARN) of the incident you're listing engagements for. */
    IncidentId?: string;
    /** The maximum number of engagements per page of results. */
    MaxResults?: number;
    /** The pagination token to continue to the next page of results. */
    NextToken?: string;
    /** The time range to lists engagements for an incident. */
    TimeRangeValue?: TimeRange;
}
export interface ListPageReceiptsInput {
    /** The Amazon Resource Name (ARN) of the engagement to a specific contact channel. */
    PageId: string;
    /** The maximum number of acknowledgements per page of results. */
    MaxResults?: number;
    /** The pagination token to continue to the next page of results. */
    NextToken?: string;
}
export interface ListPageResolutionsInput {
    /** The Amazon Resource Name (ARN) of the contact engaged for the incident. */
    PageId: string;
    /** A token to start the list. Use this token to get the next set of results. */
    NextToken?: string;
}
export interface ListPagesByContactInput {
    /** The Amazon Resource Name (ARN) of the contact you are retrieving engagements for. */
    ContactId: string;
    /** The maximum number of engagements to contact channels to list per page of results. */
    MaxResults?: number;
    /** The pagination token to continue to the next page of results. */
    NextToken?: string;
}
export interface ListPagesByEngagementInput {
    /** The Amazon Resource Name (ARN) of the engagement. */
    EngagementId: string;
    /** The maximum number of engagements to contact channels to list per page of results. */
    MaxResults?: number;
    /** The pagination token to continue to the next page of results. */
    NextToken?: string;
}
export interface ListPreviewRotationShiftsInput {
    /** The date and time a rotation shift would end. */
    EndTime: string;
    /** The contacts that would be assigned to a rotation. */
    Members: string[];
    /** Information about how long a rotation would last before restarting at the beginning of the shift order. */
    Recurrence: RecurrenceSettings;
    /** The time zone the rotation’s activity would be based on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", "UTC", or "Asia/Seoul". */
    TimeZoneId: string;
    /** The maximum number of items to return for this call. The call also returns a token that can be specified in a subsequent call to get the next set of results. */
    MaxResults?: number;
    /** A token to start the list. This token is used to get the next set of results. */
    NextToken?: string;
    /** Information about changes that would be made in a rotation override. */
    Overrides?: PreviewOverride[];
    /** The date and time a rotation would begin. The first shift is calculated from this date and time. */
    RotationStartTime?: string;
    /** Used to filter the range of calculated shifts before sending the response back to the user. */
    StartTime?: string;
}
export interface ListRotationOverridesInput {
    /** The date and time for the end of a time range for listing overrides. */
    EndTime: string;
    /** The Amazon Resource Name (ARN) of the rotation to retrieve information about. */
    RotationId: string;
    /** The date and time for the beginning of a time range for listing overrides. */
    StartTime: string;
    /** The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results. */
    MaxResults?: number;
    /** A token to start the list. Use this token to get the next set of results. */
    NextToken?: string;
}
export interface ListRotationsInput {
    /** The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results. */
    MaxResults?: number;
    /** A token to start the list. Use this token to get the next set of results. */
    NextToken?: string;
    /** A filter to include rotations in list results based on their common prefix. For example, entering prod returns a list of all rotation names that begin with prod, such as production and prod-1. */
    RotationNamePrefix?: string;
}
export interface ListRotationShiftsInput {
    /** The date and time for the end of the time range to list shifts for. */
    EndTime: string;
    /** The Amazon Resource Name (ARN) of the rotation to retrieve shift information about. */
    RotationId: string;
    /** The maximum number of items to return for this call. The call also returns a token that you can specify in a subsequent call to get the next set of results. */
    MaxResults?: number;
    /** A token to start the list. Use this token to get the next set of results. */
    NextToken?: string;
    /** The date and time for the beginning of the time range to list shifts for. */
    StartTime?: string;
}
export interface ListTagsForResourceInput {
    /** The Amazon Resource Name (ARN) of the contact, escalation plan, rotation, or on-call schedule. */
    ResourceARN: string;
}
export interface PutContactPolicyInput {
    /** The Amazon Resource Name (ARN) of the contact or escalation plan. */
    ContactArn: string;
    /** Details of the resource policy. */
    Policy: string;
}
export interface SendActivationCodeInput {
    /** The Amazon Resource Name (ARN) of the contact channel. */
    ContactChannelId: string;
}
export interface StartEngagementInput {
    /** The Amazon Resource Name (ARN) of the contact being engaged. */
    ContactId: string;
    /** The secure content of the message that was sent to the contact. Use this field for engagements to VOICE or EMAIL. */
    Content: string;
    /** The user that started the engagement. */
    Sender: string;
    /** The secure subject of the message that was sent to the contact. Use this field for engagements to VOICE or EMAIL. */
    Subject: string;
    /** A token ensuring that the operation is called only once with the specified details. */
    IdempotencyToken?: string;
    /** The ARN of the incident that the engagement is part of. */
    IncidentId?: string;
    /** The insecure content of the message that was sent to the contact. Use this field for engagements to SMS. */
    PublicContent?: string;
    /** The insecure subject of the message that was sent to the contact. Use this field for engagements to SMS. */
    PublicSubject?: string;
}
export interface StopEngagementInput {
    /** The Amazon Resource Name (ARN) of the engagement. */
    EngagementId: string;
    /** The reason that you're stopping the engagement. */
    Reason?: string;
}
export interface TagResourceInput {
    /** The Amazon Resource Name (ARN) of the contact or escalation plan. */
    ResourceARN: string;
    /** A list of tags that you are adding to the contact or escalation plan. */
    Tags: Tag[];
}
export interface UntagResourceInput {
    /** The Amazon Resource Name (ARN) of the contact or escalation plan. */
    ResourceARN: string;
    /** The key of the tag that you want to remove. */
    TagKeys: string[];
}
export interface UpdateContactInput {
    /** The Amazon Resource Name (ARN) of the contact or escalation plan you're updating. */
    ContactId: string;
    /** The full name of the contact or escalation plan. */
    DisplayName?: string;
    /** A list of stages. A contact has an engagement plan with stages for specified contact channels. An escalation plan uses these stages to contact specified contacts. */
    Plan?: Plan;
}
export interface UpdateContactChannelInput {
    /** The Amazon Resource Name (ARN) of the contact channel you want to update. */
    ContactChannelId: string;
    /** The details that Incident Manager uses when trying to engage the contact channel. */
    DeliveryAddress?: ContactChannelAddress;
    /** The name of the contact channel. */
    Name?: string;
}
export interface UpdateRotationInput {
    /** Information about how long the updated rotation lasts before restarting at the beginning of the shift order. */
    Recurrence: RecurrenceSettings;
    /** The Amazon Resource Name (ARN) of the rotation to update. */
    RotationId: string;
    /** The Amazon Resource Names (ARNs) of the contacts to include in the updated rotation. Only the PERSONAL contact type is supported. The contact types ESCALATION and ONCALL_SCHEDULE are not supported for */
    ContactIds?: string[];
    /** The date and time the rotation goes into effect. */
    StartTime?: string;
    /** The time zone to base the updated rotation’s activity on, in Internet Assigned Numbers Authority (IANA) format. For example: "America/Los_Angeles", "UTC", or "Asia/Seoul". For more information, see th */
    TimeZoneId?: string;
}
/** SSM Contacts service binding for Step Functions SDK integrations. */
export declare class SSMContacts {
    constructor();
    acceptPage<T>(params: AcceptPageInput): Promise<T>;
    activateContactChannel<T>(params: ActivateContactChannelInput): Promise<T>;
    createContact<T>(params: CreateContactInput): Promise<T>;
    createContactChannel<T>(params: CreateContactChannelInput): Promise<T>;
    createRotation<T>(params: CreateRotationInput): Promise<T>;
    createRotationOverride<T>(params: CreateRotationOverrideInput): Promise<T>;
    deactivateContactChannel<T>(params: DeactivateContactChannelInput): Promise<T>;
    deleteContact<T>(params: DeleteContactInput): Promise<T>;
    deleteContactChannel<T>(params: DeleteContactChannelInput): Promise<T>;
    deleteRotation<T>(params: DeleteRotationInput): Promise<T>;
    deleteRotationOverride<T>(params: DeleteRotationOverrideInput): Promise<T>;
    describeEngagement<T>(params: DescribeEngagementInput): Promise<T>;
    describePage<T>(params: DescribePageInput): Promise<T>;
    getContact<T>(params: GetContactInput): Promise<T>;
    getContactChannel<T>(params: GetContactChannelInput): Promise<T>;
    getContactPolicy<T>(params: GetContactPolicyInput): Promise<T>;
    getRotation<T>(params: GetRotationInput): Promise<T>;
    getRotationOverride<T>(params: GetRotationOverrideInput): Promise<T>;
    listContactChannels<T>(params: ListContactChannelsInput): Promise<T>;
    listContacts<T>(params: ListContactsInput): Promise<T>;
    listEngagements<T>(params: ListEngagementsInput): Promise<T>;
    listPageReceipts<T>(params: ListPageReceiptsInput): Promise<T>;
    listPageResolutions<T>(params: ListPageResolutionsInput): Promise<T>;
    listPagesByContact<T>(params: ListPagesByContactInput): Promise<T>;
    listPagesByEngagement<T>(params: ListPagesByEngagementInput): Promise<T>;
    listPreviewRotationShifts<T>(params: ListPreviewRotationShiftsInput): Promise<T>;
    listRotationOverrides<T>(params: ListRotationOverridesInput): Promise<T>;
    listRotations<T>(params: ListRotationsInput): Promise<T>;
    listRotationShifts<T>(params: ListRotationShiftsInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    putContactPolicy<T>(params: PutContactPolicyInput): Promise<T>;
    sendActivationCode<T>(params: SendActivationCodeInput): Promise<T>;
    startEngagement<T>(params: StartEngagementInput): Promise<T>;
    stopEngagement<T>(params: StopEngagementInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateContact<T>(params: UpdateContactInput): Promise<T>;
    updateContactChannel<T>(params: UpdateContactChannelInput): Promise<T>;
    updateRotation<T>(params: UpdateRotationInput): Promise<T>;
}
//# sourceMappingURL=SSMContacts.d.ts.map