export interface ConfigurationSet {
    /** The name of the configuration set. The name must meet the following requirements: Contain only letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-). Contain 64 characters or fewer. */
    Name: string;
}
export interface KinesisFirehoseDestination {
    /** The ARN of the IAM role under which Amazon SES publishes email sending events to the Amazon Kinesis Firehose stream. */
    IAMRoleARN: string;
    /** The ARN of the Amazon Kinesis Firehose stream that email sending events should be published to. */
    DeliveryStreamARN: string;
}
export interface CloudWatchDestination {
    /** A list of dimensions upon which to categorize your emails when you publish email sending events to Amazon CloudWatch. */
    DimensionConfigurations: any[];
}
export interface SNSDestination {
    /** The ARN of the Amazon SNS topic for email sending events. You can find the ARN of a topic by using the ListTopics Amazon SNS operation. For more information about Amazon SNS topics, see the Amazon SNS */
    TopicARN: string;
}
export interface EventDestination {
    /** The name of the event destination. The name must meet the following requirements: Contain only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-). Contain 64 characters or fewer. */
    Name: string;
    /** Sets whether Amazon SES publishes events to this destination when you send an email with the associated configuration set. Set to true to enable publishing to this destination; set to false to prevent */
    Enabled?: boolean;
    /** The type of email sending events to publish to the event destination. send - The call was successful and Amazon SES is attempting to deliver the email. reject - Amazon SES determined that the email co */
    MatchingEventTypes: 'send' | 'reject' | 'bounce' | 'complaint' | 'delivery' | 'open' | 'click' | 'renderingFailure'[];
    /** An object that contains the delivery stream ARN and the IAM role ARN associated with an Amazon Kinesis Firehose event destination. */
    KinesisFirehoseDestination?: KinesisFirehoseDestination;
    /** An object that contains the names, default values, and sources of the dimensions associated with an Amazon CloudWatch event destination. */
    CloudWatchDestination?: CloudWatchDestination;
    /** An object that contains the topic ARN associated with an Amazon Simple Notification Service (Amazon SNS) event destination. */
    SNSDestination?: SNSDestination;
}
export interface TrackingOptions {
    /** The custom subdomain that is used to redirect email recipients to the Amazon SES event tracking domain. */
    CustomRedirectDomain?: string;
}
export interface ReceiptIpFilter {
    /** Indicates whether to block or allow incoming mail from the specified IP addresses. */
    Policy: 'Block' | 'Allow';
    /** A single IP address or a range of IP addresses to block or allow, specified in Classless Inter-Domain Routing (CIDR) notation. An example of a single email address is 10.0.0.1. An example of a range o */
    Cidr: string;
}
export interface ReceiptFilter {
    /** The name of the IP address filter. The name must meet the following requirements: Contain only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-). Start and end with a letter or n */
    Name: string;
    /** A structure that provides the IP addresses to block or allow, and whether to block or allow incoming mail from them. */
    IpFilter: ReceiptIpFilter;
}
export interface ReceiptRule {
    /** The name of the receipt rule. The name must meet the following requirements: Contain only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), dashes (-), or periods (.). Start and end with a let */
    Name: string;
    /** If true, the receipt rule is active. The default value is false. */
    Enabled?: boolean;
    /** Specifies whether Amazon SES should require that incoming email is delivered over a connection encrypted with Transport Layer Security (TLS). If this parameter is set to Require, Amazon SES bounces em */
    TlsPolicy?: 'Require' | 'Optional';
    /** The recipient domains and email addresses that the receipt rule applies to. If this field is not specified, this rule matches all recipients on all verified domains. */
    Recipients?: string[];
    /** An ordered list of actions to perform on messages that match at least one of the recipient email addresses or domains specified in the receipt rule. */
    Actions?: any[];
    /** If true, then messages that this receipt rule applies to are scanned for spam and viruses. The default value is false. */
    ScanEnabled?: boolean;
}
export interface Template {
    /** The name of the template. You use this name when you send email using the SendTemplatedEmail or SendBulkTemplatedEmail operations. */
    TemplateName: string;
    /** The subject line of the email. */
    SubjectPart?: string;
    /** The email body that is visible to recipients whose email clients do not display HTML content. */
    TextPart?: string;
    /** The HTML body of the email. */
    HtmlPart?: string;
}
export interface DeliveryOptions {
    /** Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). If the value is Require, messages are only delivered if a TLS connection can be establishe */
    TlsPolicy?: 'Require' | 'Optional';
}
export interface MessageDsn {
    /** The reporting MTA that attempted to deliver the message, formatted as specified in RFC 3464 (mta-name-type; mta-name). The default value is dns; inbound-smtp.[region].amazonaws.com. */
    ReportingMta: string;
    /** When the message was received by the reporting mail transfer agent (MTA), in RFC 822 date-time format. */
    ArrivalDate?: string;
    /** Additional X-headers to include in the DSN. */
    ExtensionFields?: any[];
}
export interface BouncedRecipientInfo {
    /** The email address of the recipient of the bounced email. */
    Recipient: string;
    /** This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to receive email for the recipient of the */
    RecipientArn?: string;
    /** The reason for the bounce. You must provide either this parameter or RecipientDsnFields. */
    BounceType?: 'DoesNotExist' | 'MessageTooLarge' | 'ExceededQuota' | 'ContentRejected' | 'Undefined' | 'TemporaryFailure';
    /** Recipient-related DSN fields, most of which would normally be filled in automatically when provided with a BounceType. You must provide either this parameter or BounceType. */
    RecipientDsnFields?: any;
}
export interface MessageTag {
    /** The name of the tag. The name must meet the following requirements: Contain only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-). Contain 256 characters or fewer. */
    Name: string;
    /** The value of the tag. The value must meet the following requirements: Contain only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-). Contain 256 characters or fewer. */
    Value: string;
}
export interface BulkEmailDestination {
    Destination: any;
    /** A list of tags, in the form of name/value pairs, to apply to an email that you send using SendBulkTemplatedEmail. Tags correspond to characteristics of the email that you define, so that you can publi */
    ReplacementTags?: any[];
    /** A list of replacement values to apply to the template. This parameter is a JSON object, typically consisting of key-value pairs in which the keys correspond to replacement tags in the email template. */
    ReplacementTemplateData?: string;
}
export interface Destination {
    /** The recipients to place on the To: line of the message. */
    ToAddresses?: string[];
    /** The recipients to place on the CC: line of the message. */
    CcAddresses?: string[];
    /** The recipients to place on the BCC: line of the message. */
    BccAddresses?: string[];
}
export interface Content {
    /** The textual data of the content. */
    Data: string;
    /** The character set of the content. */
    Charset?: string;
}
export interface Body {
    /** The content of the message, in text format. Use this for text-based email clients, or clients on high-latency networks (such as mobile devices). */
    Text?: any;
    /** The content of the message, in HTML format. Use this for email clients that can process HTML. You can include clickable links, formatted text, and much more in an HTML message. */
    Html?: any;
}
export interface Message {
    /** The subject of the message: A short summary of the content, which appears in the recipient's inbox. */
    Subject: Content;
    /** The message body. */
    Body: Body;
}
export interface RawMessage {
    /** The raw data of the message. This data needs to base64-encoded if you are accessing Amazon SES directly through the HTTPS interface. If you are accessing Amazon SES using an Amazon Web Services SDK, t */
    Data: string;
}
/** Represents a request to create a receipt rule set by cloning an existing one. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide. */
export interface CloneReceiptRuleSetInput {
    /** The name of the rule set to clone. */
    OriginalRuleSetName: string;
    /** The name of the rule set to create. The name must meet the following requirements: Contain only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-). Start and end with a letter or  */
    RuleSetName: string;
}
/** Represents a request to create a configuration set. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide. */
export interface CreateConfigurationSetInput {
    /** A data structure that contains the name of the configuration set. */
    ConfigurationSet: ConfigurationSet;
}
/** Represents a request to create a configuration set event destination. A configuration set event destination, which can be either Amazon CloudWatch or Amazon Kinesis Firehose, describes an Amazon Web S */
export interface CreateConfigurationSetEventDestinationInput {
    /** The name of the configuration set that the event destination should be associated with. */
    ConfigurationSetName: string;
    /** An object that describes the Amazon Web Services service that email sending event where information is published. */
    EventDestination: EventDestination;
}
/** Represents a request to create an open and click tracking option object in a configuration set. */
export interface CreateConfigurationSetTrackingOptionsInput {
    /** The name of the configuration set that the tracking options should be associated with. */
    ConfigurationSetName: string;
    TrackingOptions: TrackingOptions;
}
/** Represents a request to create a custom verification email template. */
export interface CreateCustomVerificationEmailTemplateInput {
    /** The URL that the recipient of the verification email is sent to if his or her address is not successfully verified. */
    FailureRedirectionURL: string;
    /** The email address that the custom verification email is sent from. */
    FromEmailAddress: string;
    /** The URL that the recipient of the verification email is sent to if his or her address is successfully verified. */
    SuccessRedirectionURL: string;
    /** The content of the custom verification email. The total size of the email must be less than 10 MB. The message body may contain HTML, with some limitations. For more information, see Custom Verificati */
    TemplateContent: string;
    /** The name of the custom verification email template. */
    TemplateName: string;
    /** The subject line of the custom verification email. */
    TemplateSubject: string;
}
/** Represents a request to create a new IP address filter. You use IP address filters when you receive email with Amazon SES. For more information, see the Amazon SES Developer Guide. */
export interface CreateReceiptFilterInput {
    /** A data structure that describes the IP address filter to create, which consists of a name, an IP address range, and whether to allow or block mail from it. */
    Filter: ReceiptFilter;
}
/** Represents a request to create a receipt rule. You use receipt rules to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide. */
export interface CreateReceiptRuleInput {
    /** A data structure that contains the specified rule's name, actions, recipients, domains, enabled status, scan status, and TLS policy. */
    Rule: ReceiptRule;
    /** The name of the rule set where the receipt rule is added. */
    RuleSetName: string;
    /** The name of an existing rule after which the new rule is placed. If this parameter is null, the new rule is inserted at the beginning of the rule list. */
    After?: string;
}
/** Represents a request to create an empty receipt rule set. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide. */
export interface CreateReceiptRuleSetInput {
    /** The name of the rule set to create. The name must meet the following requirements: Contain only ASCII letters (a-z, A-Z), numbers (0-9), underscores (_), or dashes (-). Start and end with a letter or  */
    RuleSetName: string;
}
/** Represents a request to create an email template. For more information, see the Amazon SES Developer Guide. */
export interface CreateTemplateInput {
    /** The content of the email, composed of a subject line and either an HTML part or a text-only part. */
    Template: Template;
}
/** Represents a request to delete a configuration set. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Developer Guide. */
export interface DeleteConfigurationSetInput {
    /** The name of the configuration set to delete. */
    ConfigurationSetName: string;
}
/** Represents a request to delete a configuration set event destination. Configuration set event destinations are associated with configuration sets, which enable you to publish email sending events. For */
export interface DeleteConfigurationSetEventDestinationInput {
    /** The name of the configuration set from which to delete the event destination. */
    ConfigurationSetName: string;
    /** The name of the event destination to delete. */
    EventDestinationName: string;
}
/** Represents a request to delete open and click tracking options in a configuration set. */
export interface DeleteConfigurationSetTrackingOptionsInput {
    /** The name of the configuration set. */
    ConfigurationSetName: string;
}
/** Represents a request to delete an existing custom verification email template. */
export interface DeleteCustomVerificationEmailTemplateInput {
    /** The name of the custom verification email template to delete. */
    TemplateName: string;
}
/** Represents a request to delete one of your Amazon SES identities (an email address or domain). */
export interface DeleteIdentityInput {
    /** The identity to be removed from the list of identities for the Amazon Web Services account. */
    Identity: string;
}
/** Represents a request to delete a sending authorization policy for an identity. Sending authorization is an Amazon SES feature that enables you to authorize other senders to use your identities. For in */
export interface DeleteIdentityPolicyInput {
    /** The identity that is associated with the policy to delete. You can specify the identity by using its name or by using its Amazon Resource Name (ARN). Examples: user@example.com, example.com, arn:aws:s */
    Identity: string;
    /** The name of the policy to be deleted. */
    PolicyName: string;
}
/** Represents a request to delete an IP address filter. You use IP address filters when you receive email with Amazon SES. For more information, see the Amazon SES Developer Guide. */
export interface DeleteReceiptFilterInput {
    /** The name of the IP address filter to delete. */
    FilterName: string;
}
/** Represents a request to delete a receipt rule. You use receipt rules to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide. */
export interface DeleteReceiptRuleInput {
    /** The name of the receipt rule to delete. */
    RuleName: string;
    /** The name of the receipt rule set that contains the receipt rule to delete. */
    RuleSetName: string;
}
/** Represents a request to delete a receipt rule set and all of the receipt rules it contains. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Develop */
export interface DeleteReceiptRuleSetInput {
    /** The name of the receipt rule set to delete. */
    RuleSetName: string;
}
/** Represents a request to delete an email template. For more information, see the Amazon SES Developer Guide. */
export interface DeleteTemplateInput {
    /** The name of the template to be deleted. */
    TemplateName: string;
}
/** Represents a request to delete an email address from the list of email addresses you have attempted to verify under your Amazon Web Services account. */
export interface DeleteVerifiedEmailAddressInput {
    /** An email address to be removed from the list of verified addresses. */
    EmailAddress: string;
}
/** Represents a request to return the details of a configuration set. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amazon SES Dev */
export interface DescribeConfigurationSetInput {
    /** The name of the configuration set to describe. */
    ConfigurationSetName: string;
    /** A list of configuration set attributes to return. */
    ConfigurationSetAttributeNames?: 'eventDestinations' | 'trackingOptions' | 'deliveryOptions' | 'reputationOptions'[];
}
/** Represents a request to return the details of a receipt rule. You use receipt rules to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide. */
export interface DescribeReceiptRuleInput {
    /** The name of the receipt rule. */
    RuleName: string;
    /** The name of the receipt rule set that the receipt rule belongs to. */
    RuleSetName: string;
}
/** Represents a request to return the details of a receipt rule set. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide. */
export interface DescribeReceiptRuleSetInput {
    /** The name of the receipt rule set to describe. */
    RuleSetName: string;
}
/** Represents a request to retrieve an existing custom verification email template. */
export interface GetCustomVerificationEmailTemplateInput {
    /** The name of the custom verification email template to retrieve. */
    TemplateName: string;
}
/** Represents a request for the status of Amazon SES Easy DKIM signing for an identity. For domain identities, this request also returns the DKIM tokens that are required for Easy DKIM signing, and wheth */
export interface GetIdentityDkimAttributesInput {
    /** A list of one or more verified identities - email addresses, domains, or both. */
    Identities: string[];
}
/** Represents a request to return the Amazon SES custom MAIL FROM attributes for a list of identities. For information about using a custom MAIL FROM domain, see the Amazon SES Developer Guide. */
export interface GetIdentityMailFromDomainAttributesInput {
    /** A list of one or more identities. */
    Identities: string[];
}
/** Represents a request to return the notification attributes for a list of identities you verified with Amazon SES. For information about Amazon SES notifications, see the Amazon SES Developer Guide. */
export interface GetIdentityNotificationAttributesInput {
    /** A list of one or more identities. You can specify an identity by using its name or by using its Amazon Resource Name (ARN). Examples: user@example.com, example.com, arn:aws:ses:us-east-1:123456789012: */
    Identities: string[];
}
/** Represents a request to return the requested sending authorization policies for an identity. Sending authorization is an Amazon SES feature that enables you to authorize other senders to use your iden */
export interface GetIdentityPoliciesInput {
    /** The identity for which the policies are retrieved. You can specify an identity by using its name or by using its Amazon Resource Name (ARN). Examples: user@example.com, example.com, arn:aws:ses:us-eas */
    Identity: string;
    /** A list of the names of policies to be retrieved. You can retrieve a maximum of 20 policies at a time. If you do not know the names of the policies that are attached to the identity, you can use ListId */
    PolicyNames: string[];
}
/** Represents a request to return the Amazon SES verification status of a list of identities. For domain identities, this request also returns the verification token. For information about verifying iden */
export interface GetIdentityVerificationAttributesInput {
    /** A list of identities. */
    Identities: string[];
}
export interface GetTemplateInput {
    /** The name of the template to retrieve. */
    TemplateName: string;
}
/** Represents a request to list the configuration sets associated with your Amazon Web Services account. Configuration sets enable you to publish email sending events. For information about using configu */
export interface ListConfigurationSetsInput {
    /** The number of configuration sets to return. */
    MaxItems?: number;
    /** A token returned from a previous call to ListConfigurationSets to indicate the position of the configuration set in the configuration set list. */
    NextToken?: string;
}
/** Represents a request to list the existing custom verification email templates for your account. For more information about custom verification email templates, see Using Custom Verification Email Temp */
export interface ListCustomVerificationEmailTemplatesInput {
    /** The maximum number of custom verification email templates to return. This value must be at least 1 and less than or equal to 50. If you do not specify a value, or if you specify a value less than 1 or */
    MaxResults?: number;
    /** An array the contains the name and creation time stamp for each template in your Amazon SES account. */
    NextToken?: string;
}
/** Represents a request to return a list of all identities (email addresses and domains) that you have attempted to verify under your Amazon Web Services account, regardless of verification status. */
export interface ListIdentitiesInput {
    /** The type of the identities to list. Possible values are "EmailAddress" and "Domain". If this parameter is omitted, then all identities are listed. */
    IdentityType?: 'EmailAddress' | 'Domain';
    /** The maximum number of identities per page. Possible values are 1-1000 inclusive. */
    MaxItems?: number;
    /** The token to use for pagination. */
    NextToken?: string;
}
/** Represents a request to return a list of sending authorization policies that are attached to an identity. Sending authorization is an Amazon SES feature that enables you to authorize other senders to  */
export interface ListIdentityPoliciesInput {
    /** The identity that is associated with the policy for which the policies are listed. You can specify an identity by using its name or by using its Amazon Resource Name (ARN). Examples: user@example.com, */
    Identity: string;
}
/** Represents a request to list the receipt rule sets that exist under your Amazon Web Services account. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon S */
export interface ListReceiptRuleSetsInput {
    /** A token returned from a previous call to ListReceiptRuleSets to indicate the position in the receipt rule set list. */
    NextToken?: string;
}
export interface ListTemplatesInput {
    /** The maximum number of templates to return. This value must be at least 1 and less than or equal to 100. If more than 100 items are requested, the page size will automatically set to 100. If you do not */
    MaxItems?: number;
    /** A token returned from a previous call to ListTemplates to indicate the position in the list of email templates. */
    NextToken?: string;
}
/** A request to modify the delivery options for a configuration set. */
export interface PutConfigurationSetDeliveryOptionsInput {
    /** The name of the configuration set. */
    ConfigurationSetName: string;
    /** Specifies whether messages that use the configuration set are required to use Transport Layer Security (TLS). */
    DeliveryOptions?: DeliveryOptions;
}
/** Represents a request to add or update a sending authorization policy for an identity. Sending authorization is an Amazon SES feature that enables you to authorize other senders to use your identities. */
export interface PutIdentityPolicyInput {
    /** The identity to which that the policy applies. You can specify an identity by using its name or by using its Amazon Resource Name (ARN). Examples: user@example.com, example.com, arn:aws:ses:us-east-1: */
    Identity: string;
    /** The text of the policy in JSON format. The policy cannot exceed 4 KB. For information about the syntax of sending authorization policies, see the Amazon SES Developer Guide. */
    Policy: string;
    /** The name of the policy. The policy name cannot exceed 64 characters and can only include alphanumeric characters, dashes, and underscores. */
    PolicyName: string;
}
/** Represents a request to reorder the receipt rules within a receipt rule set. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide. */
export interface ReorderReceiptRuleSetInput {
    /** The specified receipt rule set's receipt rules, in order. */
    RuleNames: string[];
    /** The name of the receipt rule set to reorder. */
    RuleSetName: string;
}
/** Represents a request to send a bounce message to the sender of an email you received through Amazon SES. */
export interface SendBounceInput {
    /** A list of recipients of the bounced message, including the information required to create the Delivery Status Notifications (DSNs) for the recipients. You must specify at least one BouncedRecipientInf */
    BouncedRecipientInfoList: BouncedRecipientInfo[];
    /** The address to use in the "From" header of the bounce message. This must be an identity that you have verified with Amazon SES. */
    BounceSender: string;
    /** The message ID of the message to be bounced. */
    OriginalMessageId: string;
    /** This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the address in the "From" header o */
    BounceSenderArn?: string;
    /** Human-readable text for the bounce message to explain the failure. If not specified, the text is auto-generated based on the bounced recipient information. */
    Explanation?: string;
    /** Message-related DSN fields. If not specified, Amazon SES chooses the values. */
    MessageDsn?: MessageDsn;
}
/** Represents a request to send a templated email to multiple destinations using Amazon SES. For more information, see the Amazon SES Developer Guide. */
export interface SendBulkTemplatedEmailInput {
    /** A list of replacement values to apply to the template when replacement data is not specified in a Destination object. These values act as a default or fallback option when no other data is available.  */
    DefaultTemplateData: string;
    /** One or more Destination objects. All of the recipients in a Destination receive the same version of the email. You can specify up to 50 Destination objects within a Destinations array. */
    Destinations: BulkEmailDestination[];
    /** The email address that is sending the email. This email address must be either individually verified with Amazon SES, or from a domain that has been verified with Amazon SES. For information about ver */
    Source: string;
    /** The template to use when sending this email. */
    Template: string;
    /** The name of the configuration set to use when you send an email using SendBulkTemplatedEmail. */
    ConfigurationSetName?: string;
    /** A list of tags, in the form of name/value pairs, to apply to an email that you send to a destination using SendBulkTemplatedEmail. */
    DefaultTags?: MessageTag[];
    /** The reply-to email address(es) for the message. If the recipient replies to the message, each reply-to address receives the reply. */
    ReplyToAddresses?: string[];
    /** The email address that bounces and complaints are forwarded to when feedback forwarding is enabled. If the message cannot be delivered to the recipient, then an error message is returned from the reci */
    ReturnPath?: string;
    /** This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the email address specified in the */
    ReturnPathArn?: string;
    /** This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to send for the email address specified i */
    SourceArn?: string;
    /** The ARN of the template to use when sending this email. */
    TemplateArn?: string;
}
/** Represents a request to send a custom verification email to a specified recipient. */
export interface SendCustomVerificationEmailInput {
    /** The email address to verify. */
    EmailAddress: string;
    /** The name of the custom verification email template to use when sending the verification email. */
    TemplateName: string;
    /** Name of a configuration set to use when sending the verification email. */
    ConfigurationSetName?: string;
}
/** Represents a request to send a single formatted email using Amazon SES. For more information, see the Amazon SES Developer Guide. */
export interface SendEmailInput {
    /** The destination for this email, composed of To:, CC:, and BCC: fields. */
    Destination: Destination;
    /** The message to be sent. */
    Message: Message;
    /** The email address that is sending the email. This email address must be either individually verified with Amazon SES, or from a domain that has been verified with Amazon SES. For information about ver */
    Source: string;
    /** The name of the configuration set to use when you send an email using SendEmail. */
    ConfigurationSetName?: string;
    /** The reply-to email address(es) for the message. If the recipient replies to the message, each reply-to address receives the reply. */
    ReplyToAddresses?: string[];
    /** The email address that bounces and complaints are forwarded to when feedback forwarding is enabled. If the message cannot be delivered to the recipient, then an error message is returned from the reci */
    ReturnPath?: string;
    /** This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the email address specified in the */
    ReturnPathArn?: string;
    /** This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to send for the email address specified i */
    SourceArn?: string;
    /** A list of tags, in the form of name/value pairs, to apply to an email that you send using SendEmail. Tags correspond to characteristics of the email that you define, so that you can publish email send */
    Tags?: MessageTag[];
}
/** Represents a request to send a single raw email using Amazon SES. For more information, see the Amazon SES Developer Guide. */
export interface SendRawEmailInput {
    /** The raw email message itself. The message has to meet the following criteria: The message has to contain a header and a body, separated by a blank line. All of the required header fields must be prese */
    RawMessage: RawMessage;
    /** The name of the configuration set to use when you send an email using SendRawEmail. */
    ConfigurationSetName?: string;
    /** A list of destinations for the message, consisting of To:, CC:, and BCC: addresses. */
    Destinations?: string[];
    /** This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to specify a particular "From" address in */
    FromArn?: string;
    /** This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the email address specified in the */
    ReturnPathArn?: string;
    /** The identity's email address. If you do not provide a value for this parameter, you must specify a "From" address in the raw text of the message. (You can also specify both.) Amazon SES does not suppo */
    Source?: string;
    /** This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to send for the email address specified i */
    SourceArn?: string;
    /** A list of tags, in the form of name/value pairs, to apply to an email that you send using SendRawEmail. Tags correspond to characteristics of the email that you define, so that you can publish email s */
    Tags?: MessageTag[];
}
/** Represents a request to send a templated email using Amazon SES. For more information, see the Amazon SES Developer Guide. */
export interface SendTemplatedEmailInput {
    /** The destination for this email, composed of To:, CC:, and BCC: fields. A Destination can include up to 50 recipients across these three fields. */
    Destination: Destination;
    /** The email address that is sending the email. This email address must be either individually verified with Amazon SES, or from a domain that has been verified with Amazon SES. For information about ver */
    Source: string;
    /** The template to use when sending this email. */
    Template: string;
    /** A list of replacement values to apply to the template. This parameter is a JSON object, typically consisting of key-value pairs in which the keys correspond to replacement tags in the email template. */
    TemplateData: string;
    /** The name of the configuration set to use when you send an email using SendTemplatedEmail. */
    ConfigurationSetName?: string;
    /** The reply-to email address(es) for the message. If the recipient replies to the message, each reply-to address receives the reply. */
    ReplyToAddresses?: string[];
    /** The email address that bounces and complaints are forwarded to when feedback forwarding is enabled. If the message cannot be delivered to the recipient, then an error message is returned from the reci */
    ReturnPath?: string;
    /** This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the email address specified in the */
    ReturnPathArn?: string;
    /** This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to send for the email address specified i */
    SourceArn?: string;
    /** A list of tags, in the form of name/value pairs, to apply to an email that you send using SendTemplatedEmail. Tags correspond to characteristics of the email that you define, so that you can publish e */
    Tags?: MessageTag[];
    /** The ARN of the template to use when sending this email. */
    TemplateArn?: string;
}
/** Represents a request to set a receipt rule set as the active receipt rule set. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide. */
export interface SetActiveReceiptRuleSetInput {
    /** The name of the receipt rule set to make active. Setting this value to null disables all email receiving. */
    RuleSetName?: string;
}
/** Represents a request to enable or disable Amazon SES Easy DKIM signing for an identity. For more information about setting up Easy DKIM, see the Amazon SES Developer Guide. */
export interface SetIdentityDkimEnabledInput {
    /** Sets whether DKIM signing is enabled for an identity. Set to true to enable DKIM signing for this identity; false to disable it. */
    DkimEnabled: boolean;
    /** The identity for which DKIM signing should be enabled or disabled. */
    Identity: string;
}
/** Represents a request to enable or disable whether Amazon SES forwards you bounce and complaint notifications through email. For information about email feedback forwarding, see the Amazon SES Develope */
export interface SetIdentityFeedbackForwardingEnabledInput {
    /** Sets whether Amazon SES forwards bounce and complaint notifications as email. true specifies that Amazon SES forwards bounce and complaint notifications as email, in addition to any Amazon SNS topic p */
    ForwardingEnabled: boolean;
    /** The identity for which to set bounce and complaint notification forwarding. Examples: user@example.com, example.com. */
    Identity: string;
}
/** Represents a request to set whether Amazon SES includes the original email headers in the Amazon SNS notifications of a specified type. For information about notifications, see the Amazon SES Develope */
export interface SetIdentityHeadersInNotificationsEnabledInput {
    /** Sets whether Amazon SES includes the original email headers in Amazon SNS notifications of the specified notification type. A value of true specifies that Amazon SES includes headers in notifications, */
    Enabled: boolean;
    /** The identity for which to enable or disable headers in notifications. Examples: user@example.com, example.com. */
    Identity: string;
    /** The notification type for which to enable or disable headers in notifications. */
    NotificationType: 'Bounce' | 'Complaint' | 'Delivery';
}
/** Represents a request to enable or disable the Amazon SES custom MAIL FROM domain setup for a verified identity. For information about using a custom MAIL FROM domain, see the Amazon SES Developer Guid */
export interface SetIdentityMailFromDomainInput {
    /** The verified identity. */
    Identity: string;
    /** The action for Amazon SES to take if it cannot successfully read the required MX record when you send an email. If you choose UseDefaultValue, Amazon SES uses amazonses.com (or a subdomain of that) as */
    BehaviorOnMXFailure?: 'UseDefaultValue' | 'RejectMessage';
    /** The custom MAIL FROM domain for the verified identity to use. The MAIL FROM domain must 1) be a subdomain of the verified identity, 2) not be used in a "From" address if the MAIL FROM domain is the de */
    MailFromDomain?: string;
}
/** Represents a request to specify the Amazon SNS topic to which Amazon SES publishes bounce, complaint, or delivery notifications for emails sent with that identity as the source. For information about  */
export interface SetIdentityNotificationTopicInput {
    /** The identity (email address or domain) for the Amazon SNS topic. You can only specify a verified identity for this parameter. You can specify an identity by using its name or by using its Amazon Resou */
    Identity: string;
    /** The type of notifications that are published to the specified Amazon SNS topic. */
    NotificationType: 'Bounce' | 'Complaint' | 'Delivery';
    /** The Amazon Resource Name (ARN) of the Amazon SNS topic. If the parameter is omitted from the request or a null value is passed, SnsTopic is cleared and publishing is disabled. */
    SnsTopic?: string;
}
/** Represents a request to set the position of a receipt rule in a receipt rule set. You use receipt rule sets to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide. */
export interface SetReceiptRulePositionInput {
    /** The name of the receipt rule to reposition. */
    RuleName: string;
    /** The name of the receipt rule set that contains the receipt rule to reposition. */
    RuleSetName: string;
    /** The name of the receipt rule after which to place the specified receipt rule. */
    After?: string;
}
export interface TestRenderTemplateInput {
    /** A list of replacement values to apply to the template. This parameter is a JSON object, typically consisting of key-value pairs in which the keys correspond to replacement tags in the email template. */
    TemplateData: string;
    /** The name of the template to render. */
    TemplateName: string;
}
/** Represents a request to enable or disable the email sending capabilities for your entire Amazon SES account. */
export interface UpdateAccountSendingEnabledInput {
    /** Describes whether email sending is enabled or disabled for your Amazon SES account in the current Amazon Web Services Region. */
    Enabled?: boolean;
}
/** Represents a request to update the event destination of a configuration set. Configuration sets enable you to publish email sending events. For information about using configuration sets, see the Amaz */
export interface UpdateConfigurationSetEventDestinationInput {
    /** The name of the configuration set that contains the event destination. */
    ConfigurationSetName: string;
    /** The event destination object. */
    EventDestination: EventDestination;
}
/** Represents a request to modify the reputation metric publishing settings for a configuration set. */
export interface UpdateConfigurationSetReputationMetricsEnabledInput {
    /** The name of the configuration set to update. */
    ConfigurationSetName: string;
    /** Describes whether or not Amazon SES publishes reputation metrics for the configuration set, such as bounce and complaint rates, to Amazon CloudWatch. */
    Enabled: boolean;
}
/** Represents a request to enable or disable the email sending capabilities for a specific configuration set. */
export interface UpdateConfigurationSetSendingEnabledInput {
    /** The name of the configuration set to update. */
    ConfigurationSetName: string;
    /** Describes whether email sending is enabled or disabled for the configuration set. */
    Enabled: boolean;
}
/** Represents a request to update the tracking options for a configuration set. */
export interface UpdateConfigurationSetTrackingOptionsInput {
    /** The name of the configuration set. */
    ConfigurationSetName: string;
    TrackingOptions: TrackingOptions;
}
/** Represents a request to update an existing custom verification email template. */
export interface UpdateCustomVerificationEmailTemplateInput {
    /** The name of the custom verification email template to update. */
    TemplateName: string;
    /** The URL that the recipient of the verification email is sent to if his or her address is not successfully verified. */
    FailureRedirectionURL?: string;
    /** The email address that the custom verification email is sent from. */
    FromEmailAddress?: string;
    /** The URL that the recipient of the verification email is sent to if his or her address is successfully verified. */
    SuccessRedirectionURL?: string;
    /** The content of the custom verification email. The total size of the email must be less than 10 MB. The message body may contain HTML, with some limitations. For more information, see Custom Verificati */
    TemplateContent?: string;
    /** The subject line of the custom verification email. */
    TemplateSubject?: string;
}
/** Represents a request to update a receipt rule. You use receipt rules to receive email with Amazon SES. For more information, see the Amazon SES Developer Guide. */
export interface UpdateReceiptRuleInput {
    /** A data structure that contains the updated receipt rule information. */
    Rule: ReceiptRule;
    /** The name of the receipt rule set that the receipt rule belongs to. */
    RuleSetName: string;
}
export interface UpdateTemplateInput {
    Template: Template;
}
/** Represents a request to generate the CNAME records needed to set up Easy DKIM with Amazon SES. For more information about setting up Easy DKIM, see the Amazon SES Developer Guide. */
export interface VerifyDomainDkimInput {
    /** The name of the domain to be verified for Easy DKIM signing. */
    Domain: string;
}
/** Represents a request to begin Amazon SES domain verification and to generate the TXT records that you must publish to the DNS server of your domain to complete the verification. For information about  */
export interface VerifyDomainIdentityInput {
    /** The domain to be verified. */
    Domain: string;
}
/** Represents a request to begin email address verification with Amazon SES. For information about email address verification, see the Amazon SES Developer Guide. */
export interface VerifyEmailAddressInput {
    /** The email address to be verified. */
    EmailAddress: string;
}
/** Represents a request to begin email address verification with Amazon SES. For information about email address verification, see the Amazon SES Developer Guide. */
export interface VerifyEmailIdentityInput {
    /** The email address to be verified. */
    EmailAddress: string;
}
/** SES service binding for Step Functions SDK integrations. */
export declare class SES {
    constructor();
    cloneReceiptRuleSet<T>(params: CloneReceiptRuleSetInput): Promise<T>;
    createConfigurationSet<T>(params: CreateConfigurationSetInput): Promise<T>;
    createConfigurationSetEventDestination<T>(params: CreateConfigurationSetEventDestinationInput): Promise<T>;
    createConfigurationSetTrackingOptions<T>(params: CreateConfigurationSetTrackingOptionsInput): Promise<T>;
    createCustomVerificationEmailTemplate<T>(params: CreateCustomVerificationEmailTemplateInput): Promise<T>;
    createReceiptFilter<T>(params: CreateReceiptFilterInput): Promise<T>;
    createReceiptRule<T>(params: CreateReceiptRuleInput): Promise<T>;
    createReceiptRuleSet<T>(params: CreateReceiptRuleSetInput): Promise<T>;
    createTemplate<T>(params: CreateTemplateInput): Promise<T>;
    deleteConfigurationSet<T>(params: DeleteConfigurationSetInput): Promise<T>;
    deleteConfigurationSetEventDestination<T>(params: DeleteConfigurationSetEventDestinationInput): Promise<T>;
    deleteConfigurationSetTrackingOptions<T>(params: DeleteConfigurationSetTrackingOptionsInput): Promise<T>;
    deleteCustomVerificationEmailTemplate<T>(params: DeleteCustomVerificationEmailTemplateInput): Promise<T>;
    deleteIdentity<T>(params: DeleteIdentityInput): Promise<T>;
    deleteIdentityPolicy<T>(params: DeleteIdentityPolicyInput): Promise<T>;
    deleteReceiptFilter<T>(params: DeleteReceiptFilterInput): Promise<T>;
    deleteReceiptRule<T>(params: DeleteReceiptRuleInput): Promise<T>;
    deleteReceiptRuleSet<T>(params: DeleteReceiptRuleSetInput): Promise<T>;
    deleteTemplate<T>(params: DeleteTemplateInput): Promise<T>;
    deleteVerifiedEmailAddress<T>(params: DeleteVerifiedEmailAddressInput): Promise<T>;
    describeActiveReceiptRuleSet<T>(params: Record<string, any>): Promise<T>;
    describeConfigurationSet<T>(params: DescribeConfigurationSetInput): Promise<T>;
    describeReceiptRule<T>(params: DescribeReceiptRuleInput): Promise<T>;
    describeReceiptRuleSet<T>(params: DescribeReceiptRuleSetInput): Promise<T>;
    getAccountSendingEnabled<T>(): Promise<T>;
    getCustomVerificationEmailTemplate<T>(params: GetCustomVerificationEmailTemplateInput): Promise<T>;
    getIdentityDkimAttributes<T>(params: GetIdentityDkimAttributesInput): Promise<T>;
    getIdentityMailFromDomainAttributes<T>(params: GetIdentityMailFromDomainAttributesInput): Promise<T>;
    getIdentityNotificationAttributes<T>(params: GetIdentityNotificationAttributesInput): Promise<T>;
    getIdentityPolicies<T>(params: GetIdentityPoliciesInput): Promise<T>;
    getIdentityVerificationAttributes<T>(params: GetIdentityVerificationAttributesInput): Promise<T>;
    getSendQuota<T>(): Promise<T>;
    getSendStatistics<T>(): Promise<T>;
    getTemplate<T>(params: GetTemplateInput): Promise<T>;
    listConfigurationSets<T>(params: ListConfigurationSetsInput): Promise<T>;
    listCustomVerificationEmailTemplates<T>(params: ListCustomVerificationEmailTemplatesInput): Promise<T>;
    listIdentities<T>(params: ListIdentitiesInput): Promise<T>;
    listIdentityPolicies<T>(params: ListIdentityPoliciesInput): Promise<T>;
    listReceiptFilters<T>(params: Record<string, any>): Promise<T>;
    listReceiptRuleSets<T>(params: ListReceiptRuleSetsInput): Promise<T>;
    listTemplates<T>(params: ListTemplatesInput): Promise<T>;
    listVerifiedEmailAddresses<T>(): Promise<T>;
    putConfigurationSetDeliveryOptions<T>(params: PutConfigurationSetDeliveryOptionsInput): Promise<T>;
    putIdentityPolicy<T>(params: PutIdentityPolicyInput): Promise<T>;
    reorderReceiptRuleSet<T>(params: ReorderReceiptRuleSetInput): Promise<T>;
    sendBounce<T>(params: SendBounceInput): Promise<T>;
    sendBulkTemplatedEmail<T>(params: SendBulkTemplatedEmailInput): Promise<T>;
    sendCustomVerificationEmail<T>(params: SendCustomVerificationEmailInput): Promise<T>;
    sendEmail<T>(params: SendEmailInput): Promise<T>;
    sendRawEmail<T>(params: SendRawEmailInput): Promise<T>;
    sendTemplatedEmail<T>(params: SendTemplatedEmailInput): Promise<T>;
    setActiveReceiptRuleSet<T>(params: SetActiveReceiptRuleSetInput): Promise<T>;
    setIdentityDkimEnabled<T>(params: SetIdentityDkimEnabledInput): Promise<T>;
    setIdentityFeedbackForwardingEnabled<T>(params: SetIdentityFeedbackForwardingEnabledInput): Promise<T>;
    setIdentityHeadersInNotificationsEnabled<T>(params: SetIdentityHeadersInNotificationsEnabledInput): Promise<T>;
    setIdentityMailFromDomain<T>(params: SetIdentityMailFromDomainInput): Promise<T>;
    setIdentityNotificationTopic<T>(params: SetIdentityNotificationTopicInput): Promise<T>;
    setReceiptRulePosition<T>(params: SetReceiptRulePositionInput): Promise<T>;
    testRenderTemplate<T>(params: TestRenderTemplateInput): Promise<T>;
    updateAccountSendingEnabled<T>(params: UpdateAccountSendingEnabledInput): Promise<T>;
    updateConfigurationSetEventDestination<T>(params: UpdateConfigurationSetEventDestinationInput): Promise<T>;
    updateConfigurationSetReputationMetricsEnabled<T>(params: UpdateConfigurationSetReputationMetricsEnabledInput): Promise<T>;
    updateConfigurationSetSendingEnabled<T>(params: UpdateConfigurationSetSendingEnabledInput): Promise<T>;
    updateConfigurationSetTrackingOptions<T>(params: UpdateConfigurationSetTrackingOptionsInput): Promise<T>;
    updateCustomVerificationEmailTemplate<T>(params: UpdateCustomVerificationEmailTemplateInput): Promise<T>;
    updateReceiptRule<T>(params: UpdateReceiptRuleInput): Promise<T>;
    updateTemplate<T>(params: UpdateTemplateInput): Promise<T>;
    verifyDomainDkim<T>(params: VerifyDomainDkimInput): Promise<T>;
    verifyDomainIdentity<T>(params: VerifyDomainIdentityInput): Promise<T>;
    verifyEmailAddress<T>(params: VerifyEmailAddressInput): Promise<T>;
    verifyEmailIdentity<T>(params: VerifyEmailIdentityInput): Promise<T>;
}
//# sourceMappingURL=SES.d.ts.map