export interface Tag {
    /** The key identifier, or name, of the tag. */
    Key: string;
    /** The string value associated with the key of the tag. */
    Value: string;
}
export interface CloudWatchLogsDestination {
    /** The Amazon Resource Name (ARN) of an Identity and Access Management role that is able to write event data to an Amazon CloudWatch destination. */
    IamRoleArn: string;
    /** The name of the Amazon CloudWatch log group that you want to record events in. */
    LogGroupArn: string;
}
export interface KinesisFirehoseDestination {
    /** The ARN of an Identity and Access Management role that is able to write event data to an Amazon Data Firehose destination. */
    IamRoleArn: string;
    /** The Amazon Resource Name (ARN) of the delivery stream. */
    DeliveryStreamArn: string;
}
export interface SnsDestination {
    /** The Amazon Resource Name (ARN) of the Amazon SNS topic that you want to publish events to. */
    TopicArn: string;
}
export interface ConfigurationSetFilter {
    /** The name of the attribute to filter on. */
    Name: 'event-destination-name' | 'matching-event-types' | 'default-message-type' | 'default-sender-id' | 'default-message-feedback-enabled' | 'protect-configuration-id';
    /** An array values to filter for. */
    Values: any[];
}
export interface KeywordFilter {
    /** The name of the attribute to filter on. */
    Name: 'keyword-action';
    /** An array values to filter for. */
    Values: any[];
}
export interface OptedOutFilter {
    /** The name of the attribute to filter on. */
    Name: 'end-user-opted-out';
    /** An array of values to filter for. */
    Values: any[];
}
export interface PhoneNumberFilter {
    /** The name of the attribute to filter on. */
    Name: 'status' | 'iso-country-code' | 'message-type' | 'number-capability' | 'number-type' | 'two-way-enabled' | 'self-managed-opt-outs-enabled' | 'opt-out-list-name' | 'deletion-protection-enabled' | 'two-way-channel-arn';
    /** An array values to filter for. */
    Values: any[];
}
export interface PoolFilter {
    /** The name of the attribute to filter on. */
    Name: 'status' | 'message-type' | 'two-way-enabled' | 'self-managed-opt-outs-enabled' | 'opt-out-list-name' | 'shared-routes-enabled' | 'deletion-protection-enabled' | 'two-way-channel-arn';
    /** An array values to filter for. */
    Values: any[];
}
export interface ProtectConfigurationFilter {
    /** The name of the attribute to filter on. */
    Name: 'account-default' | 'deletion-protection-enabled';
    /** An array of values to filter for. */
    Values: any[];
}
export interface RegistrationAttachmentFilter {
    /** The name of the attribute to filter on. */
    Name: 'attachment-status';
    /** An array of values to filter on. */
    Values: any[];
}
export interface RegistrationFilter {
    /** The name of the attribute to filter on. */
    Name: 'registration-type' | 'registration-status';
    /** An array of values to filter on. */
    Values: any[];
}
export interface RegistrationTypeFilter {
    /** The name of the attribute to filter on. */
    Name: 'supported-association-resource-type' | 'supported-association-iso-country-code';
    /** An array of values to filter on. */
    Values: any[];
}
export interface RegistrationVersionFilter {
    /** The name of the attribute to filter on. */
    Name: 'registration-version-status';
    /** An array of values to filter on. */
    Values: any[];
}
export interface SenderIdAndCountry {
    /** The unique identifier of the sender. */
    SenderId: string;
    /** The two-character code, in ISO 3166-1 alpha-2 format, for the country or region. */
    IsoCountryCode: string;
}
export interface SenderIdFilter {
    /** The name of the attribute to filter on. */
    Name: 'sender-id' | 'iso-country-code' | 'message-type' | 'deletion-protection-enabled' | 'registered';
    /** An array of values to filter for. */
    Values: any[];
}
export interface VerifiedDestinationNumberFilter {
    /** The name of the attribute to filter on. */
    Name: 'status';
    /** An array of values to filter on. */
    Values: any[];
}
export interface PoolOriginationIdentitiesFilter {
    /** The name of the attribute to filter on. */
    Name: 'iso-country-code' | 'number-capability';
    /** An array values to filter for. */
    Values: any[];
}
export interface ProtectConfigurationRuleSetNumberOverrideFilterItem {
    /** The name of the attribute to filter on. */
    Name: 'iso-country-code' | 'destination-phone-number-begins-with' | 'action' | 'expires-before' | 'expires-after' | 'created-before' | 'created-after';
    /** An array values to filter for. */
    Values: any[];
}
export interface RegistrationAssociationFilter {
    /** The name of the attribute to filter on. */
    Name: 'resource-type' | 'iso-country-code';
    /** An array of values to filter for. */
    Values: any[];
}
export interface ProtectConfigurationCountryRuleSetInformation {
    /** The types of protection that can be used. */
    ProtectStatus: 'ALLOW' | 'BLOCK' | 'MONITOR' | 'FILTER';
}
export interface AssociateOriginationIdentityInput {
    /** The new two-character code, in ISO 3166-1 alpha-2 format, for the country or region of the origination identity. */
    IsoCountryCode: string;
    /** The origination identity to use, such as PhoneNumberId, PhoneNumberArn, SenderId, or SenderIdArn. You can use DescribePhoneNumbers to find the values for PhoneNumberId and PhoneNumberArn, while Descri */
    OriginationIdentity: string;
    /** The pool to update with the new Identity. This value can be either the PoolId or PoolArn, and you can find these values using DescribePools. If you are using a shared End User Messaging SMS; resource  */
    PoolId: string;
    /** Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempoten */
    ClientToken?: string;
}
export interface AssociateProtectConfigurationInput {
    /** The name of the ConfigurationSet. */
    ConfigurationSetName: string;
    /** The unique identifier for the protect configuration. */
    ProtectConfigurationId: string;
}
export interface CarrierLookupInput {
    /** The phone number that you want to retrieve information about. You can provide the phone number in various formats including special characters such as parentheses, brackets, spaces, hyphens, periods,  */
    PhoneNumber: string;
}
export interface CreateConfigurationSetInput {
    /** The name to use for the new configuration set. */
    ConfigurationSetName: string;
    /** Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempoten */
    ClientToken?: string;
    /** An array of key and value pair tags that's associated with the new configuration set. */
    Tags?: Tag[];
}
export interface CreateEventDestinationInput {
    /** Either the name of the configuration set or the configuration set ARN to apply event logging to. The ConfigurateSetName and ConfigurationSetArn can be found using the DescribeConfigurationSets action. */
    ConfigurationSetName: string;
    /** The name that identifies the event destination. */
    EventDestinationName: string;
    /** An array of event types that determine which events to log. If "ALL" is used, then End User Messaging SMS logs every event type. The TEXT_SENT event type is not supported. */
    MatchingEventTypes: 'ALL' | 'TEXT_ALL' | 'TEXT_SENT' | 'TEXT_PENDING' | 'TEXT_QUEUED' | 'TEXT_SUCCESSFUL' | 'TEXT_DELIVERED' | 'TEXT_INVALID' | 'TEXT_INVALID_MESSAGE' | 'TEXT_UNREACHABLE' | 'TEXT_CARRIER_UNREACHABLE' | 'TEXT_BLOCKED' | 'TEXT_CARRIER_BLOCKED' | 'TEXT_SPAM' | 'TEXT_UNKNOWN' | 'TEXT_TTL_EXPIRED' | 'TEXT_PROTECT_BLOCKED' | 'VOICE_ALL' | 'VOICE_INITIATED' | 'VOICE_RINGING' | 'VOICE_ANSWERED' | 'VOICE_COMPLETED' | 'VOICE_BUSY' | 'VOICE_NO_ANSWER' | 'VOICE_FAILED' | 'VOICE_TTL_EXPIRED' | 'MEDIA_ALL' | 'MEDIA_PENDING' | 'MEDIA_QUEUED' | 'MEDIA_SUCCESSFUL' | 'MEDIA_DELIVERED' | 'MEDIA_INVALID' | 'MEDIA_INVALID_MESSAGE' | 'MEDIA_UNREACHABLE' | 'MEDIA_CARRIER_UNREACHABLE' | 'MEDIA_BLOCKED' | 'MEDIA_CARRIER_BLOCKED' | 'MEDIA_SPAM' | 'MEDIA_UNKNOWN' | 'MEDIA_TTL_EXPIRED' | 'MEDIA_FILE_INACCESSIBLE' | 'MEDIA_FILE_TYPE_UNSUPPORTED' | 'MEDIA_FILE_SIZE_EXCEEDED'[];
    /** Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempoten */
    ClientToken?: string;
    /** An object that contains information about an event destination for logging to Amazon CloudWatch Logs. */
    CloudWatchLogsDestination?: CloudWatchLogsDestination;
    /** An object that contains information about an event destination for logging to Amazon Data Firehose. */
    KinesisFirehoseDestination?: KinesisFirehoseDestination;
    /** An object that contains information about an event destination for logging to Amazon SNS. */
    SnsDestination?: SnsDestination;
}
export interface CreateOptOutListInput {
    /** The name of the new OptOutList. */
    OptOutListName: string;
    /** Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempoten */
    ClientToken?: string;
    /** An array of tags (key and value pairs) to associate with the new OptOutList. */
    Tags?: Tag[];
}
export interface CreatePoolInput {
    /** The new two-character code, in ISO 3166-1 alpha-2 format, for the country or region of the new pool. */
    IsoCountryCode: string;
    /** The type of message. Valid values are TRANSACTIONAL for messages that are critical or time-sensitive and PROMOTIONAL for messages that aren't critical or time-sensitive. After the pool is created the  */
    MessageType: 'TRANSACTIONAL' | 'PROMOTIONAL';
    /** The origination identity to use such as a PhoneNumberId, PhoneNumberArn, SenderId or SenderIdArn. You can use DescribePhoneNumbers to find the values for PhoneNumberId and PhoneNumberArn, and use Desc */
    OriginationIdentity: string;
    /** Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempoten */
    ClientToken?: string;
    /** By default this is set to false. When set to true the pool can't be deleted. You can change this value using the UpdatePool action. */
    DeletionProtectionEnabled?: boolean;
    /** An array of tags (key and value pairs) associated with the pool. */
    Tags?: Tag[];
}
export interface CreateProtectConfigurationInput {
    /** Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempoten */
    ClientToken?: string;
    /** When set to true deletion protection is enabled. By default this is set to false. */
    DeletionProtectionEnabled?: boolean;
    /** An array of key and value pair tags that are associated with the resource. */
    Tags?: Tag[];
}
export interface CreateRegistrationInput {
    /** The type of registration form to create. The list of RegistrationTypes can be found using the DescribeRegistrationTypeDefinitions action. */
    RegistrationType: string;
    /** Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempoten */
    ClientToken?: string;
    /** An array of tags (key and value pairs) to associate with the registration. */
    Tags?: Tag[];
}
export interface CreateRegistrationAssociationInput {
    /** The unique identifier for the registration. */
    RegistrationId: string;
    /** The unique identifier for the origination identity. For example this could be a PhoneNumberId or SenderId. */
    ResourceId: string;
}
export interface CreateRegistrationAttachmentInput {
    /** The registration file to upload. The maximum file size is 500KB and valid file extensions are PDF, JPEG and PNG. */
    AttachmentBody?: string;
    /** Registration files have to be stored in an Amazon S3 bucket. The URI to use when sending is in the format s3://BucketName/FileName. */
    AttachmentUrl?: string;
    /** Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempoten */
    ClientToken?: string;
    /** An array of tags (key and value pairs) to associate with the registration attachment. */
    Tags?: Tag[];
}
export interface CreateRegistrationVersionInput {
    /** The unique identifier for the registration. */
    RegistrationId: string;
}
export interface CreateVerifiedDestinationNumberInput {
    /** The verified destination phone number, in E.164 format. */
    DestinationPhoneNumber: string;
    /** Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempoten */
    ClientToken?: string;
    /** An array of tags (key and value pairs) to associate with the destination number. */
    Tags?: Tag[];
}
export interface DeleteConfigurationSetInput {
    /** The name of the configuration set or the configuration set ARN that you want to delete. The ConfigurationSetName and ConfigurationSetArn can be found using the DescribeConfigurationSets action. */
    ConfigurationSetName: string;
}
export interface DeleteDefaultMessageTypeInput {
    /** The name of the configuration set or the configuration set Amazon Resource Name (ARN) to delete the default message type from. The ConfigurationSetName and ConfigurationSetArn can be found using the D */
    ConfigurationSetName: string;
}
export interface DeleteDefaultSenderIdInput {
    /** The name of the configuration set or the configuration set Amazon Resource Name (ARN) to delete the default sender ID from. The ConfigurationSetName and ConfigurationSetArn can be found using the Desc */
    ConfigurationSetName: string;
}
export interface DeleteEventDestinationInput {
    /** The name of the configuration set or the configuration set's Amazon Resource Name (ARN) to remove the event destination from. The ConfigurateSetName and ConfigurationSetArn can be found using the Desc */
    ConfigurationSetName: string;
    /** The name of the event destination to delete. */
    EventDestinationName: string;
}
export interface DeleteKeywordInput {
    /** The keyword to delete. */
    Keyword: string;
    /** The origination identity to use such as a PhoneNumberId, PhoneNumberArn, PoolId or PoolArn. You can use DescribePhoneNumbers to find the values for PhoneNumberId and PhoneNumberArn and DescribePools t */
    OriginationIdentity: string;
}
export interface DeleteOptedOutNumberInput {
    /** The phone number, in E.164 format, to remove from the OptOutList. */
    OptedOutNumber: string;
    /** The OptOutListName or OptOutListArn to remove the phone number from. If you are using a shared End User Messaging SMS resource then you must use the full Amazon Resource Name(ARN). */
    OptOutListName: string;
}
export interface DeleteOptOutListInput {
    /** The OptOutListName or OptOutListArn of the OptOutList to delete. You can use DescribeOptOutLists to find the values for OptOutListName and OptOutListArn. If you are using a shared End User Messaging S */
    OptOutListName: string;
}
export interface DeletePoolInput {
    /** The PoolId or PoolArn of the pool to delete. You can use DescribePools to find the values for PoolId and PoolArn . If you are using a shared End User Messaging SMS resource then you must use the full  */
    PoolId: string;
}
export interface DeleteProtectConfigurationInput {
    /** The unique identifier for the protect configuration. */
    ProtectConfigurationId: string;
}
export interface DeleteProtectConfigurationRuleSetNumberOverrideInput {
    /** The destination phone number in E.164 format. */
    DestinationPhoneNumber: string;
    /** The unique identifier for the protect configuration. */
    ProtectConfigurationId: string;
}
export interface DeleteRegistrationInput {
    /** The unique identifier for the registration. */
    RegistrationId: string;
}
export interface DeleteRegistrationAttachmentInput {
    /** The unique identifier for the registration attachment. */
    RegistrationAttachmentId: string;
}
export interface DeleteRegistrationFieldValueInput {
    /** The path to the registration form field. You can use DescribeRegistrationFieldDefinitions for a list of FieldPaths. */
    FieldPath: string;
    /** The unique identifier for the registration. */
    RegistrationId: string;
}
export interface DeleteResourcePolicyInput {
    /** The Amazon Resource Name (ARN) of the End User Messaging SMS resource you're deleting the resource-based policy from. */
    ResourceArn: string;
}
export interface DeleteVerifiedDestinationNumberInput {
    /** The unique identifier for the verified destination phone number. */
    VerifiedDestinationNumberId: string;
}
export interface DescribeAccountAttributesInput {
    /** The maximum number of results to return per each request. */
    MaxResults?: number;
    /** The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request. */
    NextToken?: string;
}
export interface DescribeAccountLimitsInput {
    /** The maximum number of results to return per each request. */
    MaxResults?: number;
    /** The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request. */
    NextToken?: string;
}
export interface DescribeConfigurationSetsInput {
    /** An array of strings. Each element can be either a ConfigurationSetName or ConfigurationSetArn. */
    ConfigurationSetNames?: string[];
    /** An array of filters to apply to the results that are returned. */
    Filters?: ConfigurationSetFilter[];
    /** The maximum number of results to return per each request. */
    MaxResults?: number;
    /** The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request. */
    NextToken?: string;
}
export interface DescribeKeywordsInput {
    /** The origination identity to use such as a PhoneNumberId, PhoneNumberArn, SenderId or SenderIdArn. You can use DescribePhoneNumbers to find the values for PhoneNumberId and PhoneNumberArn while Describ */
    OriginationIdentity: string;
    /** An array of keyword filters to filter the results. */
    Filters?: KeywordFilter[];
    /** An array of keywords to search for. */
    Keywords?: string[];
    /** The maximum number of results to return per each request. */
    MaxResults?: number;
    /** The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request. */
    NextToken?: string;
}
export interface DescribeOptedOutNumbersInput {
    /** The OptOutListName or OptOutListArn of the OptOutList. You can use DescribeOptOutLists to find the values for OptOutListName and OptOutListArn. If you are using a shared End User Messaging SMS resourc */
    OptOutListName: string;
    /** An array of OptedOutFilter objects to filter the results on. */
    Filters?: OptedOutFilter[];
    /** The maximum number of results to return per each request. */
    MaxResults?: number;
    /** The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request. */
    NextToken?: string;
    /** An array of phone numbers to search for in the OptOutList. If you specify an opted out number that isn't valid, an exception is returned. */
    OptedOutNumbers?: string[];
}
export interface DescribeOptOutListsInput {
    /** The maximum number of results to return per each request. */
    MaxResults?: number;
    /** The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request. */
    NextToken?: string;
    /** The OptOutLists to show the details of. This is an array of strings that can be either the OptOutListName or OptOutListArn. If you are using a shared End User Messaging SMS resource then you must use  */
    OptOutListNames?: string[];
    /** Use SELF to filter the list of Opt-Out List to ones your account owns or use SHARED to filter on Opt-Out List shared with your account. The Owner and OptOutListNames parameters can't be used at the sa */
    Owner?: 'SELF' | 'SHARED';
}
export interface DescribePhoneNumbersInput {
    /** An array of PhoneNumberFilter objects to filter the results. */
    Filters?: PhoneNumberFilter[];
    /** The maximum number of results to return per each request. */
    MaxResults?: number;
    /** The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request. */
    NextToken?: string;
    /** Use SELF to filter the list of phone numbers to ones your account owns or use SHARED to filter on phone numbers shared with your account. The Owner and PhoneNumberIds parameters can't be used at the s */
    Owner?: 'SELF' | 'SHARED';
    /** The unique identifier of phone numbers to find information about. This is an array of strings that can be either the PhoneNumberId or PhoneNumberArn. If you are using a shared End User Messaging SMS r */
    PhoneNumberIds?: string[];
}
export interface DescribePoolsInput {
    /** An array of PoolFilter objects to filter the results. */
    Filters?: PoolFilter[];
    /** The maximum number of results to return per each request. */
    MaxResults?: number;
    /** The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request. */
    NextToken?: string;
    /** Use SELF to filter the list of Pools to ones your account owns or use SHARED to filter on Pools shared with your account. The Owner and PoolIds parameters can't be used at the same time. */
    Owner?: 'SELF' | 'SHARED';
    /** The unique identifier of pools to find. This is an array of strings that can be either the PoolId or PoolArn. If you are using a shared End User Messaging SMS resource then you must use the full Amazo */
    PoolIds?: string[];
}
export interface DescribeProtectConfigurationsInput {
    /** An array of ProtectConfigurationFilter objects to filter the results. */
    Filters?: ProtectConfigurationFilter[];
    /** The maximum number of results to return per each request. */
    MaxResults?: number;
    /** The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request. */
    NextToken?: string;
    /** An array of protect configuration identifiers to search for. */
    ProtectConfigurationIds?: string[];
}
export interface DescribeRegistrationAttachmentsInput {
    /** An array of RegistrationAttachmentFilter objects to filter the results. */
    Filters?: RegistrationAttachmentFilter[];
    /** The maximum number of results to return per each request. */
    MaxResults?: number;
    /** The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request. */
    NextToken?: string;
    /** The unique identifier of registration attachments to find. This is an array of RegistrationAttachmentId. */
    RegistrationAttachmentIds?: string[];
}
export interface DescribeRegistrationFieldDefinitionsInput {
    /** The type of registration form. The list of RegistrationTypes can be found using the DescribeRegistrationTypeDefinitions action. */
    RegistrationType: string;
    /** An array of paths to the registration form field. */
    FieldPaths?: string[];
    /** The maximum number of results to return per each request. */
    MaxResults?: number;
    /** The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request. */
    NextToken?: string;
    /** The path to the section of the registration. */
    SectionPath?: string;
}
export interface DescribeRegistrationFieldValuesInput {
    /** The unique identifier for the registration. */
    RegistrationId: string;
    /** An array of paths to the registration form field. */
    FieldPaths?: string[];
    /** The maximum number of results to return per each request. */
    MaxResults?: number;
    /** The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request. */
    NextToken?: string;
    /** The path to the section of the registration. */
    SectionPath?: string;
    /** The version number of the registration. */
    VersionNumber?: number;
}
export interface DescribeRegistrationsInput {
    /** An array of RegistrationFilter objects to filter the results. */
    Filters?: RegistrationFilter[];
    /** The maximum number of results to return per each request. */
    MaxResults?: number;
    /** The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request. */
    NextToken?: string;
    /** An array of unique identifiers for each registration. */
    RegistrationIds?: string[];
}
export interface DescribeRegistrationSectionDefinitionsInput {
    /** The type of registration form. The list of RegistrationTypes can be found using the DescribeRegistrationTypeDefinitions action. */
    RegistrationType: string;
    /** The maximum number of results to return per each request. */
    MaxResults?: number;
    /** The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request. */
    NextToken?: string;
    /** An array of paths for the registration form section. */
    SectionPaths?: string[];
}
export interface DescribeRegistrationTypeDefinitionsInput {
    /** An array of RegistrationFilter objects to filter the results. */
    Filters?: RegistrationTypeFilter[];
    /** The maximum number of results to return per each request. */
    MaxResults?: number;
    /** The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request. */
    NextToken?: string;
    /** The type of registration form. The list of RegistrationTypes can be found using the DescribeRegistrationTypeDefinitions action. */
    RegistrationTypes?: string[];
}
export interface DescribeRegistrationVersionsInput {
    /** The unique identifier for the registration. */
    RegistrationId: string;
    /** An array of RegistrationVersionFilter objects to filter the results. */
    Filters?: RegistrationVersionFilter[];
    /** The maximum number of results to return per each request. */
    MaxResults?: number;
    /** The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request. */
    NextToken?: string;
    /** An array of registration version numbers. */
    VersionNumbers?: number[];
}
export interface DescribeSenderIdsInput {
    /** An array of SenderIdFilter objects to filter the results. */
    Filters?: SenderIdFilter[];
    /** The maximum number of results to return per each request. */
    MaxResults?: number;
    /** The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request. */
    NextToken?: string;
    /** Use SELF to filter the list of Sender Ids to ones your account owns or use SHARED to filter on Sender Ids shared with your account. The Owner and SenderIds parameters can't be used at the same time. */
    Owner?: 'SELF' | 'SHARED';
    /** An array of SenderIdAndCountry objects to search for. If you are using a shared End User Messaging SMS resource then you must use the full Amazon Resource Name(ARN). */
    SenderIds?: SenderIdAndCountry[];
}
export interface DescribeSpendLimitsInput {
    /** The maximum number of results to return per each request. */
    MaxResults?: number;
    /** The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request. */
    NextToken?: string;
}
export interface DescribeVerifiedDestinationNumbersInput {
    /** An array of verified destination phone number, in E.164 format. */
    DestinationPhoneNumbers?: string[];
    /** An array of VerifiedDestinationNumberFilter objects to filter the results. */
    Filters?: VerifiedDestinationNumberFilter[];
    /** The maximum number of results to return per each request. */
    MaxResults?: number;
    /** The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request. */
    NextToken?: string;
    /** An array of VerifiedDestinationNumberid to retrieve. */
    VerifiedDestinationNumberIds?: string[];
}
export interface DisassociateOriginationIdentityInput {
    /** The two-character code, in ISO 3166-1 alpha-2 format, for the country or region. */
    IsoCountryCode: string;
    /** The origination identity to use such as a PhoneNumberId, PhoneNumberArn, SenderId or SenderIdArn. You can use DescribePhoneNumbers find the values for PhoneNumberId and PhoneNumberArn, or use Describe */
    OriginationIdentity: string;
    /** The unique identifier for the pool to disassociate with the origination identity. This value can be either the PoolId or PoolArn. If you are using a shared End User Messaging SMS resource then you mus */
    PoolId: string;
    /** Unique, case-sensitive identifier you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempotency. */
    ClientToken?: string;
}
export interface DisassociateProtectConfigurationInput {
    /** The name of the ConfigurationSet. */
    ConfigurationSetName: string;
    /** The unique identifier for the protect configuration. */
    ProtectConfigurationId: string;
}
export interface DiscardRegistrationVersionInput {
    /** The unique identifier for the registration. */
    RegistrationId: string;
}
export interface GetProtectConfigurationCountryRuleSetInput {
    /** The capability type to return the CountryRuleSet for. Valid values are SMS, VOICE, or MMS. */
    NumberCapability: 'SMS' | 'VOICE' | 'MMS';
    /** The unique identifier for the protect configuration. */
    ProtectConfigurationId: string;
}
export interface GetResourcePolicyInput {
    /** The Amazon Resource Name (ARN) of the End User Messaging SMS resource attached to the resource-based policy. */
    ResourceArn: string;
}
export interface ListPoolOriginationIdentitiesInput {
    /** The unique identifier for the pool. This value can be either the PoolId or PoolArn. If you are using a shared End User Messaging SMS resource then you must use the full Amazon Resource Name(ARN). */
    PoolId: string;
    /** An array of PoolOriginationIdentitiesFilter objects to filter the results.. */
    Filters?: PoolOriginationIdentitiesFilter[];
    /** The maximum number of results to return per each request. */
    MaxResults?: number;
    /** The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request. */
    NextToken?: string;
}
export interface ListProtectConfigurationRuleSetNumberOverridesInput {
    /** The unique identifier for the protect configuration. */
    ProtectConfigurationId: string;
    /** An array of ProtectConfigurationRuleSetNumberOverrideFilterItem objects to filter the results. */
    Filters?: ProtectConfigurationRuleSetNumberOverrideFilterItem[];
    /** The maximum number of results to return per each request. */
    MaxResults?: number;
    /** The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request. */
    NextToken?: string;
}
export interface ListRegistrationAssociationsInput {
    /** The unique identifier for the registration. */
    RegistrationId: string;
    /** An array of RegistrationAssociationFilter to apply to the results that are returned. */
    Filters?: RegistrationAssociationFilter[];
    /** The maximum number of results to return per each request. */
    MaxResults?: number;
    /** The token to be used for the next set of paginated results. You don't need to supply a value for this field in the initial request. */
    NextToken?: string;
}
export interface ListTagsForResourceInput {
    /** The Amazon Resource Name (ARN) of the resource to query for. */
    ResourceArn: string;
}
export interface PutKeywordInput {
    /** The new keyword to add. */
    Keyword: string;
    /** The message associated with the keyword. */
    KeywordMessage: string;
    /** The origination identity to use such as a PhoneNumberId, PhoneNumberArn, SenderId or SenderIdArn. You can use DescribePhoneNumbers get the values for PhoneNumberId and PhoneNumberArn while DescribeSen */
    OriginationIdentity: string;
    /** The action to perform for the new keyword when it is received. AUTOMATIC_RESPONSE: A message is sent to the recipient. OPT_OUT: Keeps the recipient from receiving future messages. OPT_IN: The recipien */
    KeywordAction?: 'AUTOMATIC_RESPONSE' | 'OPT_OUT' | 'OPT_IN';
}
export interface PutMessageFeedbackInput {
    /** Set the message feedback to be either RECEIVED or FAILED. */
    MessageFeedbackStatus: 'RECEIVED' | 'FAILED';
    /** The unique identifier for the message. */
    MessageId: string;
}
export interface PutOptedOutNumberInput {
    /** The phone number to add to the OptOutList in E.164 format. */
    OptedOutNumber: string;
    /** The OptOutListName or OptOutListArn to add the phone number to. If you are using a shared End User Messaging SMS resource then you must use the full Amazon Resource Name(ARN). */
    OptOutListName: string;
}
export interface PutProtectConfigurationRuleSetNumberOverrideInput {
    /** The action for the rule to either block or allow messages to the destination phone number. */
    Action: 'ALLOW' | 'BLOCK';
    /** The destination phone number in E.164 format. */
    DestinationPhoneNumber: string;
    /** The unique identifier for the protect configuration. */
    ProtectConfigurationId: string;
    /** Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempoten */
    ClientToken?: string;
    /** The time the rule will expire at. If ExpirationTimestamp is not set then the rule does not expire. */
    ExpirationTimestamp?: string;
}
export interface PutRegistrationFieldValueInput {
    /** The path to the registration form field. You can use DescribeRegistrationFieldDefinitions for a list of FieldPaths. */
    FieldPath: string;
    /** The unique identifier for the registration. */
    RegistrationId: string;
    /** The unique identifier for the registration attachment. */
    RegistrationAttachmentId?: string;
    /** An array of values for the form field. */
    SelectChoices?: string[];
    /** The text data for a free form field. */
    TextValue?: string;
}
export interface PutResourcePolicyInput {
    /** The JSON formatted resource-based policy to attach. */
    Policy: string;
    /** The Amazon Resource Name (ARN) of the End User Messaging SMS resource to attach the resource-based policy to. */
    ResourceArn: string;
}
export interface ReleasePhoneNumberInput {
    /** The PhoneNumberId or PhoneNumberArn of the phone number to release. You can use DescribePhoneNumbers to get the values for PhoneNumberId and PhoneNumberArn. If you are using a shared End User Messagin */
    PhoneNumberId: string;
}
export interface ReleaseSenderIdInput {
    /** The two-character code, in ISO 3166-1 alpha-2 format, for the country or region. */
    IsoCountryCode: string;
    /** The sender ID to release. */
    SenderId: string;
}
export interface RequestPhoneNumberInput {
    /** The two-character code, in ISO 3166-1 alpha-2 format, for the country or region. */
    IsoCountryCode: string;
    /** The type of message. Valid values are TRANSACTIONAL for messages that are critical or time-sensitive and PROMOTIONAL for messages that aren't critical or time-sensitive. */
    MessageType: 'TRANSACTIONAL' | 'PROMOTIONAL';
    /** Indicates if the phone number will be used for text messages, voice messages, or both. */
    NumberCapabilities: 'SMS' | 'VOICE' | 'MMS'[];
    /** The type of phone number to request. When you request a SIMULATOR phone number, you must set MessageType as TRANSACTIONAL. */
    NumberType: 'LONG_CODE' | 'TOLL_FREE' | 'TEN_DLC' | 'SIMULATOR';
    /** Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempoten */
    ClientToken?: string;
    /** By default this is set to false. When set to true the phone number can't be deleted. */
    DeletionProtectionEnabled?: boolean;
    /** By default this is set to false. When set to true the international sending of phone number is Enabled. */
    InternationalSendingEnabled?: boolean;
    /** The name of the OptOutList to associate with the phone number. You can use the OptOutListName or OptOutListArn. If you are using a shared End User Messaging SMS resource then you must use the full Ama */
    OptOutListName?: string;
    /** The pool to associated with the phone number. You can use the PoolId or PoolArn. If you are using a shared End User Messaging SMS resource then you must use the full Amazon Resource Name(ARN). */
    PoolId?: string;
    /** Use this field to attach your phone number for an external registration process. */
    RegistrationId?: string;
    /** An array of tags (key and value pairs) to associate with the requested phone number. */
    Tags?: Tag[];
}
export interface RequestSenderIdInput {
    /** The two-character code, in ISO 3166-1 alpha-2 format, for the country or region. */
    IsoCountryCode: string;
    /** The sender ID string to request. */
    SenderId: string;
    /** Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, a randomly generated token is used for the request to ensure idempoten */
    ClientToken?: string;
    /** By default this is set to false. When set to true the sender ID can't be deleted. */
    DeletionProtectionEnabled?: boolean;
    /** The type of message. Valid values are TRANSACTIONAL for messages that are critical or time-sensitive and PROMOTIONAL for messages that aren't critical or time-sensitive. */
    MessageTypes?: 'TRANSACTIONAL' | 'PROMOTIONAL'[];
    /** An array of tags (key and value pairs) to associate with the sender ID. */
    Tags?: Tag[];
}
export interface SendDestinationNumberVerificationCodeInput {
    /** Choose to send the verification code as an SMS or voice message. */
    VerificationChannel: 'TEXT' | 'VOICE';
    /** The unique identifier for the verified destination phone number. */
    VerifiedDestinationNumberId: string;
    /** The name of the configuration set to use. This can be either the ConfigurationSetName or ConfigurationSetArn. */
    ConfigurationSetName?: string;
    /** You can specify custom data in this field. If you do, that data is logged to the event destination. */
    Context?: Record<string, string>;
    /** This field is used for any country-specific registration requirements. Currently, this setting is only used when you send messages to recipients in India using a sender ID. For more information see Sp */
    DestinationCountryParameters?: Record<string, string>;
    /** Choose the language to use for the message. */
    LanguageCode?: 'DE_DE' | 'EN_GB' | 'EN_US' | 'ES_419' | 'ES_ES' | 'FR_CA' | 'FR_FR' | 'IT_IT' | 'JA_JP' | 'KO_KR' | 'PT_BR' | 'ZH_CN' | 'ZH_TW';
    /** The origination identity of the message. This can be either the PhoneNumber, PhoneNumberId, PhoneNumberArn, SenderId, SenderIdArn, PoolId, or PoolArn. If you are using a shared End User Messaging SMS  */
    OriginationIdentity?: string;
}
export interface SendMediaMessageInput {
    /** The destination phone number in E.164 format. */
    DestinationPhoneNumber: string;
    /** The origination identity of the message. This can be either the PhoneNumber, PhoneNumberId, PhoneNumberArn, SenderId, SenderIdArn, PoolId, or PoolArn. If you are using a shared End User Messaging SMS  */
    OriginationIdentity: string;
    /** The name of the configuration set to use. This can be either the ConfigurationSetName or ConfigurationSetArn. */
    ConfigurationSetName?: string;
    /** You can specify custom data in this field. If you do, that data is logged to the event destination. */
    Context?: Record<string, string>;
    /** When set to true, the message is checked and validated, but isn't sent to the end recipient. */
    DryRun?: boolean;
    /** The maximum amount that you want to spend, in US dollars, per each MMS message. */
    MaxPrice?: string;
    /** An array of URLs to each media file to send. The media files have to be stored in an S3 bucket. Supported media file formats are listed in MMS file types, size and character limits. For more informati */
    MediaUrls?: string[];
    /** The text body of the message. */
    MessageBody?: string;
    /** Set to true to enable message feedback for the message. When a user receives the message you need to update the message status using PutMessageFeedback. */
    MessageFeedbackEnabled?: boolean;
    /** The unique identifier of the protect configuration to use. */
    ProtectConfigurationId?: string;
    /** How long the media message is valid for. By default this is 72 hours. */
    TimeToLive?: number;
}
export interface SendTextMessageInput {
    /** The destination phone number in E.164 format. */
    DestinationPhoneNumber: string;
    /** The name of the configuration set to use. This can be either the ConfigurationSetName or ConfigurationSetArn. */
    ConfigurationSetName?: string;
    /** You can specify custom data in this field. If you do, that data is logged to the event destination. */
    Context?: Record<string, string>;
    /** This field is used for any country-specific registration requirements. Currently, this setting is only used when you send messages to recipients in India using a sender ID. For more information see Sp */
    DestinationCountryParameters?: Record<string, string>;
    /** When set to true, the message is checked and validated, but isn't sent to the end recipient. You are not charged for using DryRun. The Message Parts per Second (MPS) limit when using DryRun is five. I */
    DryRun?: boolean;
    /** When you register a short code in the US, you must specify a program name. If you don’t have a US short code, omit this attribute. */
    Keyword?: string;
    /** The maximum amount that you want to spend, in US dollars, per each text message. If the calculated amount to send the text message is greater than MaxPrice, the message is not sent and an error is ret */
    MaxPrice?: string;
    /** The body of the text message. */
    MessageBody?: string;
    /** Set to true to enable message feedback for the message. When a user receives the message you need to update the message status using PutMessageFeedback. */
    MessageFeedbackEnabled?: boolean;
    /** The type of message. Valid values are for messages that are critical or time-sensitive and PROMOTIONAL for messages that aren't critical or time-sensitive. */
    MessageType?: 'TRANSACTIONAL' | 'PROMOTIONAL';
    /** The origination identity of the message. This can be either the PhoneNumber, PhoneNumberId, PhoneNumberArn, SenderId, SenderIdArn, PoolId, or PoolArn. If you are using a shared End User Messaging SMS  */
    OriginationIdentity?: string;
    /** The unique identifier for the protect configuration. */
    ProtectConfigurationId?: string;
    /** How long the text message is valid for, in seconds. By default this is 72 hours. If the messages isn't handed off before the TTL expires we stop attempting to hand off the message and return TTL_EXPIR */
    TimeToLive?: number;
}
export interface SendVoiceMessageInput {
    /** The destination phone number in E.164 format. */
    DestinationPhoneNumber: string;
    /** The origination identity to use for the voice call. This can be the PhoneNumber, PhoneNumberId, PhoneNumberArn, PoolId, or PoolArn. If you are using a shared End User Messaging SMS resource then you m */
    OriginationIdentity: string;
    /** The name of the configuration set to use. This can be either the ConfigurationSetName or ConfigurationSetArn. */
    ConfigurationSetName?: string;
    /** You can specify custom data in this field. If you do, that data is logged to the event destination. */
    Context?: Record<string, string>;
    /** When set to true, the message is checked and validated, but isn't sent to the end recipient. */
    DryRun?: boolean;
    /** The maximum amount to spend per voice message, in US dollars. */
    MaxPricePerMinute?: string;
    /** The text to convert to a voice message. */
    MessageBody?: string;
    /** Specifies if the MessageBody field contains text or speech synthesis markup language (SSML). TEXT: This is the default value. When used the maximum character limit is 3000. SSML: When used the maximum */
    MessageBodyTextType?: 'TEXT' | 'SSML';
    /** Set to true to enable message feedback for the message. When a user receives the message you need to update the message status using PutMessageFeedback. */
    MessageFeedbackEnabled?: boolean;
    /** The unique identifier for the protect configuration. */
    ProtectConfigurationId?: string;
    /** How long the voice message is valid for. By default this is 72 hours. */
    TimeToLive?: number;
    /** The voice for the Amazon Polly service to use. By default this is set to "MATTHEW". */
    VoiceId?: 'AMY' | 'ASTRID' | 'BIANCA' | 'BRIAN' | 'CAMILA' | 'CARLA' | 'CARMEN' | 'CELINE' | 'CHANTAL' | 'CONCHITA' | 'CRISTIANO' | 'DORA' | 'EMMA' | 'ENRIQUE' | 'EWA' | 'FILIZ' | 'GERAINT' | 'GIORGIO' | 'GWYNETH' | 'HANS' | 'INES' | 'IVY' | 'JACEK' | 'JAN' | 'JOANNA' | 'JOEY' | 'JUSTIN' | 'KARL' | 'KENDRA' | 'KIMBERLY' | 'LEA' | 'LIV' | 'LOTTE' | 'LUCIA' | 'LUPE' | 'MADS' | 'MAJA' | 'MARLENE' | 'MATHIEU' | 'MATTHEW' | 'MAXIM' | 'MIA' | 'MIGUEL' | 'MIZUKI' | 'NAJA' | 'NICOLE' | 'PENELOPE' | 'RAVEENA' | 'RICARDO' | 'RUBEN' | 'RUSSELL' | 'SALLI' | 'SEOYEON' | 'TAKUMI' | 'TATYANA' | 'VICKI' | 'VITORIA' | 'ZEINA' | 'ZHIYU';
}
export interface SetAccountDefaultProtectConfigurationInput {
    /** The unique identifier for the protect configuration. */
    ProtectConfigurationId: string;
}
export interface SetDefaultMessageFeedbackEnabledInput {
    /** The name of the configuration set to use. This can be either the ConfigurationSetName or ConfigurationSetArn. */
    ConfigurationSetName: string;
    /** Set to true to enable message feedback. */
    MessageFeedbackEnabled: boolean;
}
export interface SetDefaultMessageTypeInput {
    /** The configuration set to update with a new default message type. This field can be the ConsigurationSetName or ConfigurationSetArn. */
    ConfigurationSetName: string;
    /** The type of message. Valid values are TRANSACTIONAL for messages that are critical or time-sensitive and PROMOTIONAL for messages that aren't critical or time-sensitive. */
    MessageType: 'TRANSACTIONAL' | 'PROMOTIONAL';
}
export interface SetDefaultSenderIdInput {
    /** The configuration set to updated with a new default SenderId. This field can be the ConsigurationSetName or ConfigurationSetArn. */
    ConfigurationSetName: string;
    /** The current sender ID for the configuration set. When sending a text message to a destination country which supports SenderIds, the default sender ID on the configuration set specified on SendTextMess */
    SenderId: string;
}
export interface SetMediaMessageSpendLimitOverrideInput {
    /** The new monthly limit to enforce on text messages. */
    MonthlyLimit: number;
}
export interface SetTextMessageSpendLimitOverrideInput {
    /** The new monthly limit to enforce on text messages. */
    MonthlyLimit: number;
}
export interface SetVoiceMessageSpendLimitOverrideInput {
    /** The new monthly limit to enforce on voice messages. */
    MonthlyLimit: number;
}
export interface SubmitRegistrationVersionInput {
    /** The unique identifier for the registration. */
    RegistrationId: string;
    /** Set to true to request AWS review of the registration. When enabled, AWS will perform additional validation and review of the registration submission before processing. */
    AwsReview?: boolean;
}
export interface TagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource. */
    ResourceArn: string;
    /** An array of key and value pair tags that are associated with the resource. */
    Tags: Tag[];
}
export interface UntagResourceInput {
    /** The Amazon Resource Name (ARN) of the resource. */
    ResourceArn: string;
    /** An array of tag key values to unassociate with the resource. */
    TagKeys: string[];
}
export interface UpdateEventDestinationInput {
    /** The configuration set to update with the new event destination. Valid values for this can be the ConfigurationSetName or ConfigurationSetArn. */
    ConfigurationSetName: string;
    /** The name to use for the event destination. */
    EventDestinationName: string;
    /** An object that contains information about an event destination that sends data to CloudWatch Logs. */
    CloudWatchLogsDestination?: CloudWatchLogsDestination;
    /** When set to true logging is enabled. */
    Enabled?: boolean;
    /** An object that contains information about an event destination for logging to Firehose. */
    KinesisFirehoseDestination?: KinesisFirehoseDestination;
    /** An array of event types that determine which events to log. The TEXT_SENT event type is not supported. */
    MatchingEventTypes?: 'ALL' | 'TEXT_ALL' | 'TEXT_SENT' | 'TEXT_PENDING' | 'TEXT_QUEUED' | 'TEXT_SUCCESSFUL' | 'TEXT_DELIVERED' | 'TEXT_INVALID' | 'TEXT_INVALID_MESSAGE' | 'TEXT_UNREACHABLE' | 'TEXT_CARRIER_UNREACHABLE' | 'TEXT_BLOCKED' | 'TEXT_CARRIER_BLOCKED' | 'TEXT_SPAM' | 'TEXT_UNKNOWN' | 'TEXT_TTL_EXPIRED' | 'TEXT_PROTECT_BLOCKED' | 'VOICE_ALL' | 'VOICE_INITIATED' | 'VOICE_RINGING' | 'VOICE_ANSWERED' | 'VOICE_COMPLETED' | 'VOICE_BUSY' | 'VOICE_NO_ANSWER' | 'VOICE_FAILED' | 'VOICE_TTL_EXPIRED' | 'MEDIA_ALL' | 'MEDIA_PENDING' | 'MEDIA_QUEUED' | 'MEDIA_SUCCESSFUL' | 'MEDIA_DELIVERED' | 'MEDIA_INVALID' | 'MEDIA_INVALID_MESSAGE' | 'MEDIA_UNREACHABLE' | 'MEDIA_CARRIER_UNREACHABLE' | 'MEDIA_BLOCKED' | 'MEDIA_CARRIER_BLOCKED' | 'MEDIA_SPAM' | 'MEDIA_UNKNOWN' | 'MEDIA_TTL_EXPIRED' | 'MEDIA_FILE_INACCESSIBLE' | 'MEDIA_FILE_TYPE_UNSUPPORTED' | 'MEDIA_FILE_SIZE_EXCEEDED'[];
    /** An object that contains information about an event destination that sends data to Amazon SNS. */
    SnsDestination?: SnsDestination;
}
export interface UpdatePhoneNumberInput {
    /** The unique identifier of the phone number. Valid values for this field can be either the PhoneNumberId or PhoneNumberArn. If you are using a shared End User Messaging SMS resource then you must use th */
    PhoneNumberId: string;
    /** By default this is set to false. When set to true the phone number can't be deleted. */
    DeletionProtectionEnabled?: boolean;
    /** By default this is set to false. When set to true the international sending of phone number is Enabled. */
    InternationalSendingEnabled?: boolean;
    /** The OptOutList to add the phone number to. You can use either the opt out list name or the opt out list ARN. */
    OptOutListName?: string;
    /** By default this is set to false. When set to false and an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, End User Messaging SMS automatically replies wit */
    SelfManagedOptOutsEnabled?: boolean;
    /** The Amazon Resource Name (ARN) of the two way channel. */
    TwoWayChannelArn?: string;
    /** An optional IAM Role Arn for a service to assume, to be able to post inbound SMS messages. */
    TwoWayChannelRole?: string;
    /** By default this is set to false. When set to true you can receive incoming text messages from your end recipients. */
    TwoWayEnabled?: boolean;
}
export interface UpdatePoolInput {
    /** The unique identifier of the pool to update. Valid values are either the PoolId or PoolArn. If you are using a shared End User Messaging SMS resource then you must use the full Amazon Resource Name(AR */
    PoolId: string;
    /** When set to true the pool can't be deleted. */
    DeletionProtectionEnabled?: boolean;
    /** The OptOutList to associate with the pool. Valid values are either OptOutListName or OptOutListArn. If you are using a shared End User Messaging SMS resource then you must use the full Amazon Resource */
    OptOutListName?: string;
    /** By default this is set to false. When set to false and an end recipient sends a message that begins with HELP or STOP to one of your dedicated numbers, End User Messaging SMS automatically replies wit */
    SelfManagedOptOutsEnabled?: boolean;
    /** Indicates whether shared routes are enabled for the pool. */
    SharedRoutesEnabled?: boolean;
    /** The Amazon Resource Name (ARN) of the two way channel. */
    TwoWayChannelArn?: string;
    /** An optional IAM Role Arn for a service to assume, to be able to post inbound SMS messages. */
    TwoWayChannelRole?: string;
    /** By default this is set to false. When set to true you can receive incoming text messages from your end recipients. */
    TwoWayEnabled?: boolean;
}
export interface UpdateProtectConfigurationInput {
    /** The unique identifier for the protect configuration. */
    ProtectConfigurationId: string;
    /** When set to true deletion protection is enabled. By default this is set to false. */
    DeletionProtectionEnabled?: boolean;
}
export interface UpdateProtectConfigurationCountryRuleSetInput {
    /** A map of ProtectConfigurationCountryRuleSetInformation objects that contain the details for the requested NumberCapability. The Key is the two-letter ISO country code. For a list of supported ISO coun */
    CountryRuleSetUpdates: Record<string, ProtectConfigurationCountryRuleSetInformation>;
    /** The number capability to apply the CountryRuleSetUpdates updates to. */
    NumberCapability: 'SMS' | 'VOICE' | 'MMS';
    /** The unique identifier for the protect configuration. */
    ProtectConfigurationId: string;
}
export interface UpdateSenderIdInput {
    /** The two-character code, in ISO 3166-1 alpha-2 format, for the country or region. */
    IsoCountryCode: string;
    /** The sender ID to update. */
    SenderId: string;
    /** By default this is set to false. When set to true the sender ID can't be deleted. */
    DeletionProtectionEnabled?: boolean;
}
export interface VerifyDestinationNumberInput {
    /** The verification code that was received by the verified destination phone number. */
    VerificationCode: string;
    /** The unique identifier for the verififed destination phone number. */
    VerifiedDestinationNumberId: string;
}
/** Pinpoint SMS Voice V2 service binding for Step Functions SDK integrations. */
export declare class PinpointSMSVoiceV2 {
    constructor();
    associateOriginationIdentity<T>(params: AssociateOriginationIdentityInput): Promise<T>;
    associateProtectConfiguration<T>(params: AssociateProtectConfigurationInput): Promise<T>;
    carrierLookup<T>(params: CarrierLookupInput): Promise<T>;
    createConfigurationSet<T>(params: CreateConfigurationSetInput): Promise<T>;
    createEventDestination<T>(params: CreateEventDestinationInput): Promise<T>;
    createOptOutList<T>(params: CreateOptOutListInput): Promise<T>;
    createPool<T>(params: CreatePoolInput): Promise<T>;
    createProtectConfiguration<T>(params: CreateProtectConfigurationInput): Promise<T>;
    createRegistration<T>(params: CreateRegistrationInput): Promise<T>;
    createRegistrationAssociation<T>(params: CreateRegistrationAssociationInput): Promise<T>;
    createRegistrationAttachment<T>(params: CreateRegistrationAttachmentInput): Promise<T>;
    createRegistrationVersion<T>(params: CreateRegistrationVersionInput): Promise<T>;
    createVerifiedDestinationNumber<T>(params: CreateVerifiedDestinationNumberInput): Promise<T>;
    deleteAccountDefaultProtectConfiguration<T>(params: Record<string, any>): Promise<T>;
    deleteConfigurationSet<T>(params: DeleteConfigurationSetInput): Promise<T>;
    deleteDefaultMessageType<T>(params: DeleteDefaultMessageTypeInput): Promise<T>;
    deleteDefaultSenderId<T>(params: DeleteDefaultSenderIdInput): Promise<T>;
    deleteEventDestination<T>(params: DeleteEventDestinationInput): Promise<T>;
    deleteKeyword<T>(params: DeleteKeywordInput): Promise<T>;
    deleteMediaMessageSpendLimitOverride<T>(params: Record<string, any>): Promise<T>;
    deleteOptedOutNumber<T>(params: DeleteOptedOutNumberInput): Promise<T>;
    deleteOptOutList<T>(params: DeleteOptOutListInput): Promise<T>;
    deletePool<T>(params: DeletePoolInput): Promise<T>;
    deleteProtectConfiguration<T>(params: DeleteProtectConfigurationInput): Promise<T>;
    deleteProtectConfigurationRuleSetNumberOverride<T>(params: DeleteProtectConfigurationRuleSetNumberOverrideInput): Promise<T>;
    deleteRegistration<T>(params: DeleteRegistrationInput): Promise<T>;
    deleteRegistrationAttachment<T>(params: DeleteRegistrationAttachmentInput): Promise<T>;
    deleteRegistrationFieldValue<T>(params: DeleteRegistrationFieldValueInput): Promise<T>;
    deleteResourcePolicy<T>(params: DeleteResourcePolicyInput): Promise<T>;
    deleteTextMessageSpendLimitOverride<T>(params: Record<string, any>): Promise<T>;
    deleteVerifiedDestinationNumber<T>(params: DeleteVerifiedDestinationNumberInput): Promise<T>;
    deleteVoiceMessageSpendLimitOverride<T>(params: Record<string, any>): Promise<T>;
    describeAccountAttributes<T>(params: DescribeAccountAttributesInput): Promise<T>;
    describeAccountLimits<T>(params: DescribeAccountLimitsInput): Promise<T>;
    describeConfigurationSets<T>(params: DescribeConfigurationSetsInput): Promise<T>;
    describeKeywords<T>(params: DescribeKeywordsInput): Promise<T>;
    describeOptedOutNumbers<T>(params: DescribeOptedOutNumbersInput): Promise<T>;
    describeOptOutLists<T>(params: DescribeOptOutListsInput): Promise<T>;
    describePhoneNumbers<T>(params: DescribePhoneNumbersInput): Promise<T>;
    describePools<T>(params: DescribePoolsInput): Promise<T>;
    describeProtectConfigurations<T>(params: DescribeProtectConfigurationsInput): Promise<T>;
    describeRegistrationAttachments<T>(params: DescribeRegistrationAttachmentsInput): Promise<T>;
    describeRegistrationFieldDefinitions<T>(params: DescribeRegistrationFieldDefinitionsInput): Promise<T>;
    describeRegistrationFieldValues<T>(params: DescribeRegistrationFieldValuesInput): Promise<T>;
    describeRegistrations<T>(params: DescribeRegistrationsInput): Promise<T>;
    describeRegistrationSectionDefinitions<T>(params: DescribeRegistrationSectionDefinitionsInput): Promise<T>;
    describeRegistrationTypeDefinitions<T>(params: DescribeRegistrationTypeDefinitionsInput): Promise<T>;
    describeRegistrationVersions<T>(params: DescribeRegistrationVersionsInput): Promise<T>;
    describeSenderIds<T>(params: DescribeSenderIdsInput): Promise<T>;
    describeSpendLimits<T>(params: DescribeSpendLimitsInput): Promise<T>;
    describeVerifiedDestinationNumbers<T>(params: DescribeVerifiedDestinationNumbersInput): Promise<T>;
    disassociateOriginationIdentity<T>(params: DisassociateOriginationIdentityInput): Promise<T>;
    disassociateProtectConfiguration<T>(params: DisassociateProtectConfigurationInput): Promise<T>;
    discardRegistrationVersion<T>(params: DiscardRegistrationVersionInput): Promise<T>;
    getProtectConfigurationCountryRuleSet<T>(params: GetProtectConfigurationCountryRuleSetInput): Promise<T>;
    getResourcePolicy<T>(params: GetResourcePolicyInput): Promise<T>;
    listPoolOriginationIdentities<T>(params: ListPoolOriginationIdentitiesInput): Promise<T>;
    listProtectConfigurationRuleSetNumberOverrides<T>(params: ListProtectConfigurationRuleSetNumberOverridesInput): Promise<T>;
    listRegistrationAssociations<T>(params: ListRegistrationAssociationsInput): Promise<T>;
    listTagsForResource<T>(params: ListTagsForResourceInput): Promise<T>;
    putKeyword<T>(params: PutKeywordInput): Promise<T>;
    putMessageFeedback<T>(params: PutMessageFeedbackInput): Promise<T>;
    putOptedOutNumber<T>(params: PutOptedOutNumberInput): Promise<T>;
    putProtectConfigurationRuleSetNumberOverride<T>(params: PutProtectConfigurationRuleSetNumberOverrideInput): Promise<T>;
    putRegistrationFieldValue<T>(params: PutRegistrationFieldValueInput): Promise<T>;
    putResourcePolicy<T>(params: PutResourcePolicyInput): Promise<T>;
    releasePhoneNumber<T>(params: ReleasePhoneNumberInput): Promise<T>;
    releaseSenderId<T>(params: ReleaseSenderIdInput): Promise<T>;
    requestPhoneNumber<T>(params: RequestPhoneNumberInput): Promise<T>;
    requestSenderId<T>(params: RequestSenderIdInput): Promise<T>;
    sendDestinationNumberVerificationCode<T>(params: SendDestinationNumberVerificationCodeInput): Promise<T>;
    sendMediaMessage<T>(params: SendMediaMessageInput): Promise<T>;
    sendTextMessage<T>(params: SendTextMessageInput): Promise<T>;
    sendVoiceMessage<T>(params: SendVoiceMessageInput): Promise<T>;
    setAccountDefaultProtectConfiguration<T>(params: SetAccountDefaultProtectConfigurationInput): Promise<T>;
    setDefaultMessageFeedbackEnabled<T>(params: SetDefaultMessageFeedbackEnabledInput): Promise<T>;
    setDefaultMessageType<T>(params: SetDefaultMessageTypeInput): Promise<T>;
    setDefaultSenderId<T>(params: SetDefaultSenderIdInput): Promise<T>;
    setMediaMessageSpendLimitOverride<T>(params: SetMediaMessageSpendLimitOverrideInput): Promise<T>;
    setTextMessageSpendLimitOverride<T>(params: SetTextMessageSpendLimitOverrideInput): Promise<T>;
    setVoiceMessageSpendLimitOverride<T>(params: SetVoiceMessageSpendLimitOverrideInput): Promise<T>;
    submitRegistrationVersion<T>(params: SubmitRegistrationVersionInput): Promise<T>;
    tagResource<T>(params: TagResourceInput): Promise<T>;
    untagResource<T>(params: UntagResourceInput): Promise<T>;
    updateEventDestination<T>(params: UpdateEventDestinationInput): Promise<T>;
    updatePhoneNumber<T>(params: UpdatePhoneNumberInput): Promise<T>;
    updatePool<T>(params: UpdatePoolInput): Promise<T>;
    updateProtectConfiguration<T>(params: UpdateProtectConfigurationInput): Promise<T>;
    updateProtectConfigurationCountryRuleSet<T>(params: UpdateProtectConfigurationCountryRuleSetInput): Promise<T>;
    updateSenderId<T>(params: UpdateSenderIdInput): Promise<T>;
    verifyDestinationNumber<T>(params: VerifyDestinationNumberInput): Promise<T>;
}
//# sourceMappingURL=PinpointSMSVoiceV2.d.ts.map