import * as HttpClient from "effect/unstable/http/HttpClient";
import * as redacted from "effect/Redacted";
import * as S from "effect/Schema";
import * as stream from "effect/Stream";
import * as API from "../client/api.ts";
import type { Credentials } from "../credentials.ts";
import type { CommonErrors } from "../errors.ts";
import type { Region } from "../region.ts";
export type IdempotencyToken = string;
export type AddressListId = string;
export type JobName = string;
export type JobId = string;
export type PreSignedUrl = string | redacted.Redacted<string>;
export type ErrorMessage = string;
export type Address = string | redacted.Redacted<string>;
export type JobItemsCount = number;
export type ExportId = string;
export type ArchiveId = string;
export type StringValue = string;
export type ExportMaxResults = number;
export type S3Location = string;
export type ArchivedMessageId = string;
export type S3PresignedURL = string;
export type IngressPointId = string;
export type TrafficPolicyId = string;
export type RuleSetId = string;
export type SenderIpAddress = string | redacted.Redacted<string>;
export type SearchId = string;
export type SearchMaxResults = number;
export type PaginationToken = string;
export type PageSize = number;
export type AddressPrefix = string | redacted.Redacted<string>;
export type AddressPageSize = number;
export type TaggableResourceArn = string;
export type TagKey = string;
export type TagValue = string;
export type AddonSubscriptionId = string;
export type AddonInstanceId = string;
export type AddonName = string;
export type AddonInstanceArn = string;
export type AddonSubscriptionArn = string;
export type AddressListName = string;
export type AddressListArn = string;
export type ArchiveNameString = string;
export type KmsKeyArn = string;
export type ArchiveIdString = string;
export type ArchiveArn = string;
export type IngressPointName = string;
export type SmtpPassword = string | redacted.Redacted<string>;
export type SecretArn = string;
export type CAContent = string | redacted.Redacted<string>;
export type CrlContent = string | redacted.Redacted<string>;
export type VpcEndpointId = string;
export type IngressPointArn = string;
export type IngressPointARecord = string;
export type RelayName = string;
export type RelayServerName = string;
export type RelayServerPort = number;
export type RelayId = string;
export type RelayArn = string;
export type RuleSetName = string;
export type RuleName = string;
export type AnalyzerArn = string;
export type ResultField = string;
export type MimeHeaderAttribute = string;
export type RuleStringValue = string | redacted.Redacted<string>;
export type RuleIpStringValue = string;
export type IdOrArn = string;
export type NameOrArn = string;
export type IamRoleArn = string;
export type S3Bucket = string;
export type S3Prefix = string;
export type KmsKeyId = string;
export type HeaderName = string;
export type HeaderValue = string;
export type EmailAddress = string | redacted.Redacted<string>;
export type QBusinessApplicationId = string;
export type QBusinessIndexId = string;
export type SnsTopicArn = string;
export type StatusCode = string;
export type SmtpReplyCode = string;
export type DiagnosticMessage = string | redacted.Redacted<string>;
export type BounceMessage = string | redacted.Redacted<string>;
export type LambdaFunctionArn = string;
export type LambdaRetryTimeMinutes = number;
export type RuleSetArn = string;
export type TrafficPolicyName = string;
export type Ipv4Cidr = string;
export type Ipv6Cidr = string;
export type MaxMessageSizeBytes = number;
export type TrafficPolicyArn = string;
export type ImportDataType = "CSV" | "JSON" | (string & {});
export declare const ImportDataType: S.String;
export interface ImportDataFormat {
    ImportDataType: ImportDataType;
}
export declare const ImportDataFormat: S.Schema<ImportDataFormat>;
export interface CreateAddressListImportJobRequest {
    ClientToken?: string;
    AddressListId: string;
    Name: string;
    ImportDataFormat: ImportDataFormat;
}
export declare const CreateAddressListImportJobRequest: S.Schema<CreateAddressListImportJobRequest>;
export interface CreateAddressListImportJobResponse {
    JobId: string;
    PreSignedUrl: string | redacted.Redacted<string>;
}
export declare const CreateAddressListImportJobResponse: S.Schema<CreateAddressListImportJobResponse>;
export interface DeregisterMemberFromAddressListRequest {
    AddressListId: string;
    Address: string | redacted.Redacted<string>;
}
export declare const DeregisterMemberFromAddressListRequest: S.Schema<DeregisterMemberFromAddressListRequest>;
export interface DeregisterMemberFromAddressListResponse {
}
export declare const DeregisterMemberFromAddressListResponse: S.Schema<DeregisterMemberFromAddressListResponse>;
export interface GetAddressListImportJobRequest {
    JobId: string;
}
export declare const GetAddressListImportJobRequest: S.Schema<GetAddressListImportJobRequest>;
export type ImportJobStatus = "CREATED" | "PROCESSING" | "COMPLETED" | "FAILED" | "STOPPED" | (string & {});
export declare const ImportJobStatus: S.String;
export interface GetAddressListImportJobResponse {
    JobId: string;
    Name: string;
    Status: ImportJobStatus;
    PreSignedUrl: string | redacted.Redacted<string>;
    ImportedItemsCount?: number;
    FailedItemsCount?: number;
    ImportDataFormat: ImportDataFormat;
    AddressListId: string;
    CreatedTimestamp: Date;
    StartTimestamp?: Date;
    CompletedTimestamp?: Date;
    Error?: string;
}
export declare const GetAddressListImportJobResponse: S.Schema<GetAddressListImportJobResponse>;
export interface GetArchiveExportRequest {
    ExportId: string;
}
export declare const GetArchiveExportRequest: S.Schema<GetArchiveExportRequest>;
export type ArchiveStringEmailAttribute = "TO" | "FROM" | "CC" | "SUBJECT" | "ENVELOPE_TO" | "ENVELOPE_FROM" | (string & {});
export declare const ArchiveStringEmailAttribute: S.String;
export type ArchiveStringToEvaluate = {
    Attribute: ArchiveStringEmailAttribute;
};
export declare const ArchiveStringToEvaluate: S.Union<readonly [S.Struct<{
    readonly Attribute: S.String;
}>]>;
export type ArchiveStringOperator = "CONTAINS" | (string & {});
export declare const ArchiveStringOperator: S.String;
export type StringValueList = string[];
export declare const StringValueList: S.$Array<S.String>;
export interface ArchiveStringExpression {
    Evaluate: ArchiveStringToEvaluate;
    Operator: ArchiveStringOperator;
    Values: string[];
}
export declare const ArchiveStringExpression: S.Schema<ArchiveStringExpression>;
export type ArchiveBooleanEmailAttribute = "HAS_ATTACHMENTS" | (string & {});
export declare const ArchiveBooleanEmailAttribute: S.String;
export type ArchiveBooleanToEvaluate = {
    Attribute: ArchiveBooleanEmailAttribute;
};
export declare const ArchiveBooleanToEvaluate: S.Union<readonly [S.Struct<{
    readonly Attribute: S.String;
}>]>;
export type ArchiveBooleanOperator = "IS_TRUE" | "IS_FALSE" | (string & {});
export declare const ArchiveBooleanOperator: S.String;
export interface ArchiveBooleanExpression {
    Evaluate: ArchiveBooleanToEvaluate;
    Operator: ArchiveBooleanOperator;
}
export declare const ArchiveBooleanExpression: S.Schema<ArchiveBooleanExpression>;
export type ArchiveFilterCondition = {
    StringExpression: ArchiveStringExpression;
    BooleanExpression?: never;
} | {
    StringExpression?: never;
    BooleanExpression: ArchiveBooleanExpression;
};
export declare const ArchiveFilterCondition: S.Union<readonly [S.Struct<{
    readonly StringExpression: S.Schema<ArchiveStringExpression>;
}>, S.Struct<{
    readonly BooleanExpression: S.Schema<ArchiveBooleanExpression>;
}>]>;
export type ArchiveFilterConditions = ArchiveFilterCondition[];
export declare const ArchiveFilterConditions: S.$Array<S.Union<readonly [S.Struct<{
    readonly StringExpression: S.Schema<ArchiveStringExpression>;
}>, S.Struct<{
    readonly BooleanExpression: S.Schema<ArchiveBooleanExpression>;
}>]>>;
export interface ArchiveFilters {
    Include?: ArchiveFilterCondition[];
    Unless?: ArchiveFilterCondition[];
}
export declare const ArchiveFilters: S.Schema<ArchiveFilters>;
export interface S3ExportDestinationConfiguration {
    S3Location?: string;
}
export declare const S3ExportDestinationConfiguration: S.Schema<S3ExportDestinationConfiguration>;
export type ExportDestinationConfiguration = {
    S3: S3ExportDestinationConfiguration;
};
export declare const ExportDestinationConfiguration: S.Union<readonly [S.Struct<{
    readonly S3: S.Schema<S3ExportDestinationConfiguration>;
}>]>;
export type ExportState = "QUEUED" | "PREPROCESSING" | "PROCESSING" | "COMPLETED" | "FAILED" | "CANCELLED" | (string & {});
export declare const ExportState: S.String;
export interface ExportStatus {
    SubmissionTimestamp?: Date;
    CompletionTimestamp?: Date;
    State?: ExportState;
    ErrorMessage?: string;
}
export declare const ExportStatus: S.Schema<ExportStatus>;
export interface GetArchiveExportResponse {
    ArchiveId?: string;
    Filters?: ArchiveFilters;
    FromTimestamp?: Date;
    ToTimestamp?: Date;
    MaxResults?: number;
    ExportDestinationConfiguration?: ExportDestinationConfiguration;
    Status?: ExportStatus;
}
export declare const GetArchiveExportResponse: S.Schema<GetArchiveExportResponse>;
export interface GetArchiveMessageRequest {
    ArchivedMessageId: string;
}
export declare const GetArchiveMessageRequest: S.Schema<GetArchiveMessageRequest>;
export interface Metadata {
    Timestamp?: Date;
    IngressPointId?: string;
    TrafficPolicyId?: string;
    RuleSetId?: string;
    SenderHostname?: string;
    SenderIpAddress?: string | redacted.Redacted<string>;
    TlsCipherSuite?: string;
    TlsProtocol?: string;
    SendingMethod?: string;
    SourceIdentity?: string;
    SendingPool?: string;
    ConfigurationSet?: string;
    SourceArn?: string;
}
export declare const Metadata: S.Schema<Metadata>;
export type StringList = string[];
export declare const StringList: S.$Array<S.String>;
export interface Envelope {
    Helo?: string;
    From?: string;
    To?: string[];
}
export declare const Envelope: S.Schema<Envelope>;
export interface GetArchiveMessageResponse {
    MessageDownloadLink?: string;
    Metadata?: Metadata;
    Envelope?: Envelope;
}
export declare const GetArchiveMessageResponse: S.Schema<GetArchiveMessageResponse>;
export interface GetArchiveMessageContentRequest {
    ArchivedMessageId: string;
}
export declare const GetArchiveMessageContentRequest: S.Schema<GetArchiveMessageContentRequest>;
export interface MessageBody {
    Text?: string;
    Html?: string;
    MessageMalformed?: boolean;
}
export declare const MessageBody: S.Schema<MessageBody>;
export interface GetArchiveMessageContentResponse {
    Body?: MessageBody;
}
export declare const GetArchiveMessageContentResponse: S.Schema<GetArchiveMessageContentResponse>;
export interface GetArchiveSearchRequest {
    SearchId: string;
}
export declare const GetArchiveSearchRequest: S.Schema<GetArchiveSearchRequest>;
export type SearchState = "QUEUED" | "RUNNING" | "COMPLETED" | "FAILED" | "CANCELLED" | (string & {});
export declare const SearchState: S.String;
export interface SearchStatus {
    SubmissionTimestamp?: Date;
    CompletionTimestamp?: Date;
    State?: SearchState;
    ErrorMessage?: string;
}
export declare const SearchStatus: S.Schema<SearchStatus>;
export interface GetArchiveSearchResponse {
    ArchiveId?: string;
    Filters?: ArchiveFilters;
    FromTimestamp?: Date;
    ToTimestamp?: Date;
    MaxResults?: number;
    Status?: SearchStatus;
}
export declare const GetArchiveSearchResponse: S.Schema<GetArchiveSearchResponse>;
export interface GetArchiveSearchResultsRequest {
    SearchId: string;
}
export declare const GetArchiveSearchResultsRequest: S.Schema<GetArchiveSearchResultsRequest>;
export type EmailReceivedHeadersList = string[];
export declare const EmailReceivedHeadersList: S.$Array<S.String>;
export interface Row {
    ArchivedMessageId?: string;
    ReceivedTimestamp?: Date;
    Date?: string;
    To?: string;
    From?: string;
    Cc?: string;
    Subject?: string;
    MessageId?: string;
    HasAttachments?: boolean;
    ReceivedHeaders?: string[];
    InReplyTo?: string;
    XMailer?: string;
    XOriginalMailer?: string;
    XPriority?: string;
    IngressPointId?: string;
    SenderHostname?: string;
    SenderIpAddress?: string | redacted.Redacted<string>;
    Envelope?: Envelope;
    SourceArn?: string;
}
export declare const Row: S.Schema<Row>;
export type RowsList = Row[];
export declare const RowsList: S.$Array<S.Schema<Row>>;
export interface GetArchiveSearchResultsResponse {
    Rows?: Row[];
}
export declare const GetArchiveSearchResultsResponse: S.Schema<GetArchiveSearchResultsResponse>;
export interface GetMemberOfAddressListRequest {
    AddressListId: string;
    Address: string | redacted.Redacted<string>;
}
export declare const GetMemberOfAddressListRequest: S.Schema<GetMemberOfAddressListRequest>;
export interface GetMemberOfAddressListResponse {
    Address: string | redacted.Redacted<string>;
    CreatedTimestamp: Date;
}
export declare const GetMemberOfAddressListResponse: S.Schema<GetMemberOfAddressListResponse>;
export interface ListAddressListImportJobsRequest {
    AddressListId: string;
    NextToken?: string;
    PageSize?: number;
}
export declare const ListAddressListImportJobsRequest: S.Schema<ListAddressListImportJobsRequest>;
export interface ImportJob {
    JobId: string;
    Name: string;
    Status: ImportJobStatus;
    PreSignedUrl: string | redacted.Redacted<string>;
    ImportedItemsCount?: number;
    FailedItemsCount?: number;
    ImportDataFormat: ImportDataFormat;
    AddressListId: string;
    CreatedTimestamp: Date;
    StartTimestamp?: Date;
    CompletedTimestamp?: Date;
    Error?: string;
}
export declare const ImportJob: S.Schema<ImportJob>;
export type ImportJobs = ImportJob[];
export declare const ImportJobs: S.$Array<S.Schema<ImportJob>>;
export interface ListAddressListImportJobsResponse {
    ImportJobs: ImportJob[];
    NextToken?: string;
}
export declare const ListAddressListImportJobsResponse: S.Schema<ListAddressListImportJobsResponse>;
export interface ListArchiveExportsRequest {
    ArchiveId: string;
    NextToken?: string;
    PageSize?: number;
}
export declare const ListArchiveExportsRequest: S.Schema<ListArchiveExportsRequest>;
export interface ExportSummary {
    ExportId?: string;
    Status?: ExportStatus;
}
export declare const ExportSummary: S.Schema<ExportSummary>;
export type ExportSummaryList = ExportSummary[];
export declare const ExportSummaryList: S.$Array<S.Schema<ExportSummary>>;
export interface ListArchiveExportsResponse {
    Exports?: ExportSummary[];
    NextToken?: string;
}
export declare const ListArchiveExportsResponse: S.Schema<ListArchiveExportsResponse>;
export interface ListArchiveSearchesRequest {
    ArchiveId: string;
    NextToken?: string;
    PageSize?: number;
}
export declare const ListArchiveSearchesRequest: S.Schema<ListArchiveSearchesRequest>;
export interface SearchSummary {
    SearchId?: string;
    Status?: SearchStatus;
}
export declare const SearchSummary: S.Schema<SearchSummary>;
export type SearchSummaryList = SearchSummary[];
export declare const SearchSummaryList: S.$Array<S.Schema<SearchSummary>>;
export interface ListArchiveSearchesResponse {
    Searches?: SearchSummary[];
    NextToken?: string;
}
export declare const ListArchiveSearchesResponse: S.Schema<ListArchiveSearchesResponse>;
export interface AddressFilter {
    AddressPrefix?: string | redacted.Redacted<string>;
}
export declare const AddressFilter: S.Schema<AddressFilter>;
export interface ListMembersOfAddressListRequest {
    AddressListId: string;
    Filter?: AddressFilter;
    NextToken?: string;
    PageSize?: number;
}
export declare const ListMembersOfAddressListRequest: S.Schema<ListMembersOfAddressListRequest>;
export interface SavedAddress {
    Address: string | redacted.Redacted<string>;
    CreatedTimestamp: Date;
}
export declare const SavedAddress: S.Schema<SavedAddress>;
export type SavedAddresses = SavedAddress[];
export declare const SavedAddresses: S.$Array<S.Schema<SavedAddress>>;
export interface ListMembersOfAddressListResponse {
    Addresses: SavedAddress[];
    NextToken?: string;
}
export declare const ListMembersOfAddressListResponse: S.Schema<ListMembersOfAddressListResponse>;
export interface ListTagsForResourceRequest {
    ResourceArn: string;
}
export declare const ListTagsForResourceRequest: S.Schema<ListTagsForResourceRequest>;
export interface Tag {
    Key: string;
    Value: string;
}
export declare const Tag: S.Schema<Tag>;
export type TagList = Tag[];
export declare const TagList: S.$Array<S.Schema<Tag>>;
export interface ListTagsForResourceResponse {
    Tags: Tag[];
}
export declare const ListTagsForResourceResponse: S.Schema<ListTagsForResourceResponse>;
export interface RegisterMemberToAddressListRequest {
    AddressListId: string;
    Address: string | redacted.Redacted<string>;
}
export declare const RegisterMemberToAddressListRequest: S.Schema<RegisterMemberToAddressListRequest>;
export interface RegisterMemberToAddressListResponse {
}
export declare const RegisterMemberToAddressListResponse: S.Schema<RegisterMemberToAddressListResponse>;
export interface StartAddressListImportJobRequest {
    JobId: string;
}
export declare const StartAddressListImportJobRequest: S.Schema<StartAddressListImportJobRequest>;
export interface StartAddressListImportJobResponse {
}
export declare const StartAddressListImportJobResponse: S.Schema<StartAddressListImportJobResponse>;
export interface StartArchiveExportRequest {
    ArchiveId: string;
    Filters?: ArchiveFilters;
    FromTimestamp: Date;
    ToTimestamp: Date;
    MaxResults?: number;
    ExportDestinationConfiguration: ExportDestinationConfiguration;
    IncludeMetadata?: boolean;
}
export declare const StartArchiveExportRequest: S.Schema<StartArchiveExportRequest>;
export interface StartArchiveExportResponse {
    ExportId?: string;
}
export declare const StartArchiveExportResponse: S.Schema<StartArchiveExportResponse>;
export interface StartArchiveSearchRequest {
    ArchiveId: string;
    Filters?: ArchiveFilters;
    FromTimestamp: Date;
    ToTimestamp: Date;
    MaxResults: number;
}
export declare const StartArchiveSearchRequest: S.Schema<StartArchiveSearchRequest>;
export interface StartArchiveSearchResponse {
    SearchId?: string;
}
export declare const StartArchiveSearchResponse: S.Schema<StartArchiveSearchResponse>;
export interface StopAddressListImportJobRequest {
    JobId: string;
}
export declare const StopAddressListImportJobRequest: S.Schema<StopAddressListImportJobRequest>;
export interface StopAddressListImportJobResponse {
}
export declare const StopAddressListImportJobResponse: S.Schema<StopAddressListImportJobResponse>;
export interface StopArchiveExportRequest {
    ExportId: string;
}
export declare const StopArchiveExportRequest: S.Schema<StopArchiveExportRequest>;
export interface StopArchiveExportResponse {
}
export declare const StopArchiveExportResponse: S.Schema<StopArchiveExportResponse>;
export interface StopArchiveSearchRequest {
    SearchId: string;
}
export declare const StopArchiveSearchRequest: S.Schema<StopArchiveSearchRequest>;
export interface StopArchiveSearchResponse {
}
export declare const StopArchiveSearchResponse: S.Schema<StopArchiveSearchResponse>;
export interface TagResourceRequest {
    ResourceArn: string;
    Tags: Tag[];
}
export declare const TagResourceRequest: S.Schema<TagResourceRequest>;
export interface TagResourceResponse {
}
export declare const TagResourceResponse: S.Schema<TagResourceResponse>;
export type TagKeyList = string[];
export declare const TagKeyList: S.$Array<S.String>;
export interface UntagResourceRequest {
    ResourceArn: string;
    TagKeys: string[];
}
export declare const UntagResourceRequest: S.Schema<UntagResourceRequest>;
export interface UntagResourceResponse {
}
export declare const UntagResourceResponse: S.Schema<UntagResourceResponse>;
export interface CreateAddonInstanceRequest {
    ClientToken?: string;
    AddonSubscriptionId: string;
    Tags?: Tag[];
}
export declare const CreateAddonInstanceRequest: S.Schema<CreateAddonInstanceRequest>;
export interface CreateAddonInstanceResponse {
    AddonInstanceId: string;
}
export declare const CreateAddonInstanceResponse: S.Schema<CreateAddonInstanceResponse>;
export interface GetAddonInstanceRequest {
    AddonInstanceId: string;
}
export declare const GetAddonInstanceRequest: S.Schema<GetAddonInstanceRequest>;
export interface GetAddonInstanceResponse {
    AddonSubscriptionId?: string;
    AddonName?: string;
    AddonInstanceArn?: string;
    CreatedTimestamp?: Date;
}
export declare const GetAddonInstanceResponse: S.Schema<GetAddonInstanceResponse>;
export interface DeleteAddonInstanceRequest {
    AddonInstanceId: string;
}
export declare const DeleteAddonInstanceRequest: S.Schema<DeleteAddonInstanceRequest>;
export interface DeleteAddonInstanceResponse {
}
export declare const DeleteAddonInstanceResponse: S.Schema<DeleteAddonInstanceResponse>;
export interface ListAddonInstancesRequest {
    NextToken?: string;
    PageSize?: number;
}
export declare const ListAddonInstancesRequest: S.Schema<ListAddonInstancesRequest>;
export interface AddonInstance {
    AddonInstanceId?: string;
    AddonSubscriptionId?: string;
    AddonName?: string;
    AddonInstanceArn?: string;
    CreatedTimestamp?: Date;
}
export declare const AddonInstance: S.Schema<AddonInstance>;
export type AddonInstances = AddonInstance[];
export declare const AddonInstances: S.$Array<S.Schema<AddonInstance>>;
export interface ListAddonInstancesResponse {
    AddonInstances?: AddonInstance[];
    NextToken?: string;
}
export declare const ListAddonInstancesResponse: S.Schema<ListAddonInstancesResponse>;
export interface CreateAddonSubscriptionRequest {
    ClientToken?: string;
    AddonName: string;
    Tags?: Tag[];
}
export declare const CreateAddonSubscriptionRequest: S.Schema<CreateAddonSubscriptionRequest>;
export interface CreateAddonSubscriptionResponse {
    AddonSubscriptionId: string;
}
export declare const CreateAddonSubscriptionResponse: S.Schema<CreateAddonSubscriptionResponse>;
export interface GetAddonSubscriptionRequest {
    AddonSubscriptionId: string;
}
export declare const GetAddonSubscriptionRequest: S.Schema<GetAddonSubscriptionRequest>;
export interface GetAddonSubscriptionResponse {
    AddonName?: string;
    AddonSubscriptionArn?: string;
    CreatedTimestamp?: Date;
}
export declare const GetAddonSubscriptionResponse: S.Schema<GetAddonSubscriptionResponse>;
export interface DeleteAddonSubscriptionRequest {
    AddonSubscriptionId: string;
}
export declare const DeleteAddonSubscriptionRequest: S.Schema<DeleteAddonSubscriptionRequest>;
export interface DeleteAddonSubscriptionResponse {
}
export declare const DeleteAddonSubscriptionResponse: S.Schema<DeleteAddonSubscriptionResponse>;
export interface ListAddonSubscriptionsRequest {
    NextToken?: string;
    PageSize?: number;
}
export declare const ListAddonSubscriptionsRequest: S.Schema<ListAddonSubscriptionsRequest>;
export interface AddonSubscription {
    AddonSubscriptionId?: string;
    AddonName?: string;
    AddonSubscriptionArn?: string;
    CreatedTimestamp?: Date;
}
export declare const AddonSubscription: S.Schema<AddonSubscription>;
export type AddonSubscriptions = AddonSubscription[];
export declare const AddonSubscriptions: S.$Array<S.Schema<AddonSubscription>>;
export interface ListAddonSubscriptionsResponse {
    AddonSubscriptions?: AddonSubscription[];
    NextToken?: string;
}
export declare const ListAddonSubscriptionsResponse: S.Schema<ListAddonSubscriptionsResponse>;
export interface CreateAddressListRequest {
    ClientToken?: string;
    AddressListName: string;
    Tags?: Tag[];
}
export declare const CreateAddressListRequest: S.Schema<CreateAddressListRequest>;
export interface CreateAddressListResponse {
    AddressListId: string;
}
export declare const CreateAddressListResponse: S.Schema<CreateAddressListResponse>;
export interface GetAddressListRequest {
    AddressListId: string;
}
export declare const GetAddressListRequest: S.Schema<GetAddressListRequest>;
export interface GetAddressListResponse {
    AddressListId: string;
    AddressListArn: string;
    AddressListName: string;
    CreatedTimestamp: Date;
    LastUpdatedTimestamp: Date;
}
export declare const GetAddressListResponse: S.Schema<GetAddressListResponse>;
export interface DeleteAddressListRequest {
    AddressListId: string;
}
export declare const DeleteAddressListRequest: S.Schema<DeleteAddressListRequest>;
export interface DeleteAddressListResponse {
}
export declare const DeleteAddressListResponse: S.Schema<DeleteAddressListResponse>;
export interface ListAddressListsRequest {
    NextToken?: string;
    PageSize?: number;
}
export declare const ListAddressListsRequest: S.Schema<ListAddressListsRequest>;
export interface AddressList {
    AddressListId: string;
    AddressListArn: string;
    AddressListName: string;
    CreatedTimestamp: Date;
    LastUpdatedTimestamp: Date;
}
export declare const AddressList: S.Schema<AddressList>;
export type AddressLists = AddressList[];
export declare const AddressLists: S.$Array<S.Schema<AddressList>>;
export interface ListAddressListsResponse {
    AddressLists: AddressList[];
    NextToken?: string;
}
export declare const ListAddressListsResponse: S.Schema<ListAddressListsResponse>;
export type RetentionPeriod = "THREE_MONTHS" | "SIX_MONTHS" | "NINE_MONTHS" | "ONE_YEAR" | "EIGHTEEN_MONTHS" | "TWO_YEARS" | "THIRTY_MONTHS" | "THREE_YEARS" | "FOUR_YEARS" | "FIVE_YEARS" | "SIX_YEARS" | "SEVEN_YEARS" | "EIGHT_YEARS" | "NINE_YEARS" | "TEN_YEARS" | "PERMANENT" | (string & {});
export declare const RetentionPeriod: S.String;
export type ArchiveRetention = {
    RetentionPeriod: RetentionPeriod;
};
export declare const ArchiveRetention: S.Union<readonly [S.Struct<{
    readonly RetentionPeriod: S.String;
}>]>;
export interface CreateArchiveRequest {
    ClientToken?: string;
    ArchiveName: string;
    Retention?: ArchiveRetention;
    KmsKeyArn?: string;
    Tags?: Tag[];
}
export declare const CreateArchiveRequest: S.Schema<CreateArchiveRequest>;
export interface CreateArchiveResponse {
    ArchiveId: string;
}
export declare const CreateArchiveResponse: S.Schema<CreateArchiveResponse>;
export interface GetArchiveRequest {
    ArchiveId: string;
}
export declare const GetArchiveRequest: S.Schema<GetArchiveRequest>;
export type ArchiveState = "ACTIVE" | "PENDING_DELETION" | (string & {});
export declare const ArchiveState: S.String;
export interface GetArchiveResponse {
    ArchiveId: string;
    ArchiveName: string;
    ArchiveArn: string;
    ArchiveState: ArchiveState;
    Retention: ArchiveRetention;
    CreatedTimestamp?: Date;
    LastUpdatedTimestamp?: Date;
    KmsKeyArn?: string;
}
export declare const GetArchiveResponse: S.Schema<GetArchiveResponse>;
export interface UpdateArchiveRequest {
    ArchiveId: string;
    ArchiveName?: string;
    Retention?: ArchiveRetention;
}
export declare const UpdateArchiveRequest: S.Schema<UpdateArchiveRequest>;
export interface UpdateArchiveResponse {
}
export declare const UpdateArchiveResponse: S.Schema<UpdateArchiveResponse>;
export interface DeleteArchiveRequest {
    ArchiveId: string;
}
export declare const DeleteArchiveRequest: S.Schema<DeleteArchiveRequest>;
export interface DeleteArchiveResponse {
}
export declare const DeleteArchiveResponse: S.Schema<DeleteArchiveResponse>;
export interface ListArchivesRequest {
    NextToken?: string;
    PageSize?: number;
}
export declare const ListArchivesRequest: S.Schema<ListArchivesRequest>;
export interface Archive {
    ArchiveId: string;
    ArchiveName?: string;
    ArchiveState?: ArchiveState;
    LastUpdatedTimestamp?: Date;
}
export declare const Archive: S.Schema<Archive>;
export type ArchivesList = Archive[];
export declare const ArchivesList: S.$Array<S.Schema<Archive>>;
export interface ListArchivesResponse {
    Archives: Archive[];
    NextToken?: string;
}
export declare const ListArchivesResponse: S.Schema<ListArchivesResponse>;
export type IngressPointType = "OPEN" | "AUTH" | "MTLS" | (string & {});
export declare const IngressPointType: S.String;
export interface TrustStore {
    CAContent: string | redacted.Redacted<string>;
    CrlContent?: string | redacted.Redacted<string>;
    KmsKeyArn?: string;
}
export declare const TrustStore: S.Schema<TrustStore>;
export interface TlsAuthConfiguration {
    TrustStore?: TrustStore;
}
export declare const TlsAuthConfiguration: S.Schema<TlsAuthConfiguration>;
export type IngressPointConfiguration = {
    SmtpPassword: string | redacted.Redacted<string>;
    SecretArn?: never;
    TlsAuthConfiguration?: never;
} | {
    SmtpPassword?: never;
    SecretArn: string;
    TlsAuthConfiguration?: never;
} | {
    SmtpPassword?: never;
    SecretArn?: never;
    TlsAuthConfiguration: TlsAuthConfiguration;
};
export declare const IngressPointConfiguration: S.Union<readonly [S.Struct<{
    readonly SmtpPassword: S.Schema<string | redacted.Redacted<string>>;
}>, S.Struct<{
    readonly SecretArn: S.String;
}>, S.Struct<{
    readonly TlsAuthConfiguration: S.Schema<TlsAuthConfiguration>;
}>]>;
export type IpType = "IPV4" | "DUAL_STACK" | (string & {});
export declare const IpType: S.String;
export interface PublicNetworkConfiguration {
    IpType: IpType;
}
export declare const PublicNetworkConfiguration: S.Schema<PublicNetworkConfiguration>;
export interface PrivateNetworkConfiguration {
    VpcEndpointId: string;
}
export declare const PrivateNetworkConfiguration: S.Schema<PrivateNetworkConfiguration>;
export type NetworkConfiguration = {
    PublicNetworkConfiguration: PublicNetworkConfiguration;
    PrivateNetworkConfiguration?: never;
} | {
    PublicNetworkConfiguration?: never;
    PrivateNetworkConfiguration: PrivateNetworkConfiguration;
};
export declare const NetworkConfiguration: S.Union<readonly [S.Struct<{
    readonly PublicNetworkConfiguration: S.Schema<PublicNetworkConfiguration>;
}>, S.Struct<{
    readonly PrivateNetworkConfiguration: S.Schema<PrivateNetworkConfiguration>;
}>]>;
export type TlsPolicy = "REQUIRED" | "OPTIONAL" | "FIPS" | (string & {});
export declare const TlsPolicy: S.String;
export interface CreateIngressPointRequest {
    ClientToken?: string;
    IngressPointName: string;
    Type: IngressPointType;
    RuleSetId: string;
    TrafficPolicyId: string;
    IngressPointConfiguration?: IngressPointConfiguration;
    NetworkConfiguration?: NetworkConfiguration;
    TlsPolicy?: TlsPolicy;
    Tags?: Tag[];
}
export declare const CreateIngressPointRequest: S.Schema<CreateIngressPointRequest>;
export interface CreateIngressPointResponse {
    IngressPointId: string;
}
export declare const CreateIngressPointResponse: S.Schema<CreateIngressPointResponse>;
export type TrustStoreResponseOption = "EXCLUDE" | "INCLUDE" | (string & {});
export declare const TrustStoreResponseOption: S.String;
export interface GetIngressPointRequest {
    IngressPointId: string;
    IncludeTrustStoreContents?: TrustStoreResponseOption;
}
export declare const GetIngressPointRequest: S.Schema<GetIngressPointRequest>;
export type IngressPointStatus = "PROVISIONING" | "DEPROVISIONING" | "UPDATING" | "ACTIVE" | "CLOSED" | "FAILED" | "ASSOCIATED_VPC_ENDPOINT_DOES_NOT_EXIST" | (string & {});
export declare const IngressPointStatus: S.String;
export interface IngressPointPasswordConfiguration {
    SmtpPasswordVersion?: string;
    PreviousSmtpPasswordVersion?: string;
    PreviousSmtpPasswordExpiryTimestamp?: Date;
}
export declare const IngressPointPasswordConfiguration: S.Schema<IngressPointPasswordConfiguration>;
export interface IngressPointAuthConfiguration {
    IngressPointPasswordConfiguration?: IngressPointPasswordConfiguration;
    SecretArn?: string;
    TlsAuthConfiguration?: TlsAuthConfiguration;
}
export declare const IngressPointAuthConfiguration: S.Schema<IngressPointAuthConfiguration>;
export interface GetIngressPointResponse {
    IngressPointId: string;
    IngressPointName: string;
    IngressPointArn?: string;
    Status?: IngressPointStatus;
    Type?: IngressPointType;
    ARecord?: string;
    RuleSetId?: string;
    TrafficPolicyId?: string;
    IngressPointAuthConfiguration?: IngressPointAuthConfiguration;
    NetworkConfiguration?: NetworkConfiguration;
    TlsPolicy?: TlsPolicy;
    CreatedTimestamp?: Date;
    LastUpdatedTimestamp?: Date;
}
export declare const GetIngressPointResponse: S.Schema<GetIngressPointResponse>;
export type IngressPointStatusToUpdate = "ACTIVE" | "CLOSED" | (string & {});
export declare const IngressPointStatusToUpdate: S.String;
export interface UpdateIngressPointRequest {
    IngressPointId: string;
    IngressPointName?: string;
    StatusToUpdate?: IngressPointStatusToUpdate;
    RuleSetId?: string;
    TrafficPolicyId?: string;
    IngressPointConfiguration?: IngressPointConfiguration;
    TlsPolicy?: TlsPolicy;
}
export declare const UpdateIngressPointRequest: S.Schema<UpdateIngressPointRequest>;
export interface UpdateIngressPointResponse {
}
export declare const UpdateIngressPointResponse: S.Schema<UpdateIngressPointResponse>;
export interface DeleteIngressPointRequest {
    IngressPointId: string;
}
export declare const DeleteIngressPointRequest: S.Schema<DeleteIngressPointRequest>;
export interface DeleteIngressPointResponse {
}
export declare const DeleteIngressPointResponse: S.Schema<DeleteIngressPointResponse>;
export interface ListIngressPointsRequest {
    PageSize?: number;
    NextToken?: string;
}
export declare const ListIngressPointsRequest: S.Schema<ListIngressPointsRequest>;
export interface IngressPoint {
    IngressPointName: string;
    IngressPointId: string;
    Status: IngressPointStatus;
    Type: IngressPointType;
    ARecord?: string;
}
export declare const IngressPoint: S.Schema<IngressPoint>;
export type IngressPointsList = IngressPoint[];
export declare const IngressPointsList: S.$Array<S.Schema<IngressPoint>>;
export interface ListIngressPointsResponse {
    IngressPoints?: IngressPoint[];
    NextToken?: string;
}
export declare const ListIngressPointsResponse: S.Schema<ListIngressPointsResponse>;
export interface NoAuthentication {
}
export declare const NoAuthentication: S.Schema<NoAuthentication>;
export type RelayAuthentication = {
    SecretArn: string;
    NoAuthentication?: never;
} | {
    SecretArn?: never;
    NoAuthentication: NoAuthentication;
};
export declare const RelayAuthentication: S.Union<readonly [S.Struct<{
    readonly SecretArn: S.String;
}>, S.Struct<{
    readonly NoAuthentication: S.Schema<NoAuthentication>;
}>]>;
export interface CreateRelayRequest {
    ClientToken?: string;
    RelayName: string;
    ServerName: string;
    ServerPort: number;
    Authentication: RelayAuthentication;
    Tags?: Tag[];
}
export declare const CreateRelayRequest: S.Schema<CreateRelayRequest>;
export interface CreateRelayResponse {
    RelayId: string;
}
export declare const CreateRelayResponse: S.Schema<CreateRelayResponse>;
export interface GetRelayRequest {
    RelayId: string;
}
export declare const GetRelayRequest: S.Schema<GetRelayRequest>;
export interface GetRelayResponse {
    RelayId: string;
    RelayArn?: string;
    RelayName?: string;
    ServerName?: string;
    ServerPort?: number;
    Authentication?: RelayAuthentication;
    CreatedTimestamp?: Date;
    LastModifiedTimestamp?: Date;
}
export declare const GetRelayResponse: S.Schema<GetRelayResponse>;
export interface UpdateRelayRequest {
    RelayId: string;
    RelayName?: string;
    ServerName?: string;
    ServerPort?: number;
    Authentication?: RelayAuthentication;
}
export declare const UpdateRelayRequest: S.Schema<UpdateRelayRequest>;
export interface UpdateRelayResponse {
}
export declare const UpdateRelayResponse: S.Schema<UpdateRelayResponse>;
export interface DeleteRelayRequest {
    RelayId: string;
}
export declare const DeleteRelayRequest: S.Schema<DeleteRelayRequest>;
export interface DeleteRelayResponse {
}
export declare const DeleteRelayResponse: S.Schema<DeleteRelayResponse>;
export interface ListRelaysRequest {
    PageSize?: number;
    NextToken?: string;
}
export declare const ListRelaysRequest: S.Schema<ListRelaysRequest>;
export interface Relay {
    RelayId?: string;
    RelayName?: string;
    LastModifiedTimestamp?: Date;
}
export declare const Relay: S.Schema<Relay>;
export type Relays = Relay[];
export declare const Relays: S.$Array<S.Schema<Relay>>;
export interface ListRelaysResponse {
    Relays: Relay[];
    NextToken?: string;
}
export declare const ListRelaysResponse: S.Schema<ListRelaysResponse>;
export type RuleBooleanEmailAttribute = "READ_RECEIPT_REQUESTED" | "TLS" | "TLS_WRAPPED" | (string & {});
export declare const RuleBooleanEmailAttribute: S.String;
export interface Analysis {
    Analyzer: string;
    ResultField: string;
}
export declare const Analysis: S.Schema<Analysis>;
export type RuleAddressListEmailAttribute = "RECIPIENT" | "MAIL_FROM" | "SENDER" | "FROM" | "TO" | "CC" | (string & {});
export declare const RuleAddressListEmailAttribute: S.String;
export type RuleAddressListArnList = string[];
export declare const RuleAddressListArnList: S.$Array<S.String>;
export interface RuleIsInAddressList {
    Attribute: RuleAddressListEmailAttribute;
    AddressLists: string[];
}
export declare const RuleIsInAddressList: S.Schema<RuleIsInAddressList>;
export type RuleBooleanToEvaluate = {
    Attribute: RuleBooleanEmailAttribute;
    Analysis?: never;
    IsInAddressList?: never;
} | {
    Attribute?: never;
    Analysis: Analysis;
    IsInAddressList?: never;
} | {
    Attribute?: never;
    Analysis?: never;
    IsInAddressList: RuleIsInAddressList;
};
export declare const RuleBooleanToEvaluate: S.Union<readonly [S.Struct<{
    readonly Attribute: S.String;
}>, S.Struct<{
    readonly Analysis: S.Schema<Analysis>;
}>, S.Struct<{
    readonly IsInAddressList: S.Schema<RuleIsInAddressList>;
}>]>;
export type RuleBooleanOperator = "IS_TRUE" | "IS_FALSE" | (string & {});
export declare const RuleBooleanOperator: S.String;
export interface RuleBooleanExpression {
    Evaluate: RuleBooleanToEvaluate;
    Operator: RuleBooleanOperator;
}
export declare const RuleBooleanExpression: S.Schema<RuleBooleanExpression>;
export type RuleStringEmailAttribute = "MAIL_FROM" | "HELO" | "RECIPIENT" | "SENDER" | "FROM" | "SUBJECT" | "TO" | "CC" | (string & {});
export declare const RuleStringEmailAttribute: S.String;
export type RuleClientCertificateAttribute = "CN" | "SAN_RFC822_NAME" | "SAN_DNS_NAME" | "SAN_DIRECTORY_NAME" | "SAN_UNIFORM_RESOURCE_IDENTIFIER" | "SAN_IP_ADDRESS" | "SAN_REGISTERED_ID" | "SERIAL_NUMBER" | (string & {});
export declare const RuleClientCertificateAttribute: S.String;
export type RuleStringToEvaluate = {
    Attribute: RuleStringEmailAttribute;
    MimeHeaderAttribute?: never;
    Analysis?: never;
    ClientCertificateAttribute?: never;
} | {
    Attribute?: never;
    MimeHeaderAttribute: string;
    Analysis?: never;
    ClientCertificateAttribute?: never;
} | {
    Attribute?: never;
    MimeHeaderAttribute?: never;
    Analysis: Analysis;
    ClientCertificateAttribute?: never;
} | {
    Attribute?: never;
    MimeHeaderAttribute?: never;
    Analysis?: never;
    ClientCertificateAttribute: RuleClientCertificateAttribute;
};
export declare const RuleStringToEvaluate: S.Union<readonly [S.Struct<{
    readonly Attribute: S.String;
}>, S.Struct<{
    readonly MimeHeaderAttribute: S.String;
}>, S.Struct<{
    readonly Analysis: S.Schema<Analysis>;
}>, S.Struct<{
    readonly ClientCertificateAttribute: S.String;
}>]>;
export type RuleStringOperator = "EQUALS" | "NOT_EQUALS" | "STARTS_WITH" | "ENDS_WITH" | "CONTAINS" | (string & {});
export declare const RuleStringOperator: S.String;
export type RuleStringList = string | redacted.Redacted<string>[];
export declare const RuleStringList: S.$Array<S.Schema<string | redacted.Redacted<string>>>;
export interface RuleStringExpression {
    Evaluate: RuleStringToEvaluate;
    Operator: RuleStringOperator;
    Values: string | redacted.Redacted<string>[];
}
export declare const RuleStringExpression: S.Schema<RuleStringExpression>;
export type RuleNumberEmailAttribute = "MESSAGE_SIZE" | (string & {});
export declare const RuleNumberEmailAttribute: S.String;
export type RuleNumberToEvaluate = {
    Attribute: RuleNumberEmailAttribute;
};
export declare const RuleNumberToEvaluate: S.Union<readonly [S.Struct<{
    readonly Attribute: S.String;
}>]>;
export type RuleNumberOperator = "EQUALS" | "NOT_EQUALS" | "LESS_THAN" | "GREATER_THAN" | "LESS_THAN_OR_EQUAL" | "GREATER_THAN_OR_EQUAL" | (string & {});
export declare const RuleNumberOperator: S.String;
export interface RuleNumberExpression {
    Evaluate: RuleNumberToEvaluate;
    Operator: RuleNumberOperator;
    Value: number;
}
export declare const RuleNumberExpression: S.Schema<RuleNumberExpression>;
export type RuleIpEmailAttribute = "SOURCE_IP" | (string & {});
export declare const RuleIpEmailAttribute: S.String;
export type RuleIpToEvaluate = {
    Attribute: RuleIpEmailAttribute;
};
export declare const RuleIpToEvaluate: S.Union<readonly [S.Struct<{
    readonly Attribute: S.String;
}>]>;
export type RuleIpOperator = "CIDR_MATCHES" | "NOT_CIDR_MATCHES" | (string & {});
export declare const RuleIpOperator: S.String;
export type RuleIpValueList = string[];
export declare const RuleIpValueList: S.$Array<S.String>;
export interface RuleIpExpression {
    Evaluate: RuleIpToEvaluate;
    Operator: RuleIpOperator;
    Values: string[];
}
export declare const RuleIpExpression: S.Schema<RuleIpExpression>;
export type RuleVerdictAttribute = "SPF" | "DKIM" | (string & {});
export declare const RuleVerdictAttribute: S.String;
export type RuleVerdictToEvaluate = {
    Attribute: RuleVerdictAttribute;
    Analysis?: never;
} | {
    Attribute?: never;
    Analysis: Analysis;
};
export declare const RuleVerdictToEvaluate: S.Union<readonly [S.Struct<{
    readonly Attribute: S.String;
}>, S.Struct<{
    readonly Analysis: S.Schema<Analysis>;
}>]>;
export type RuleVerdictOperator = "EQUALS" | "NOT_EQUALS" | (string & {});
export declare const RuleVerdictOperator: S.String;
export type RuleVerdict = "PASS" | "FAIL" | "GRAY" | "PROCESSING_FAILED" | (string & {});
export declare const RuleVerdict: S.String;
export type RuleVerdictValueList = RuleVerdict[];
export declare const RuleVerdictValueList: S.$Array<S.String>;
export interface RuleVerdictExpression {
    Evaluate: RuleVerdictToEvaluate;
    Operator: RuleVerdictOperator;
    Values: RuleVerdict[];
}
export declare const RuleVerdictExpression: S.Schema<RuleVerdictExpression>;
export type RuleDmarcOperator = "EQUALS" | "NOT_EQUALS" | (string & {});
export declare const RuleDmarcOperator: S.String;
export type RuleDmarcPolicy = "NONE" | "QUARANTINE" | "REJECT" | (string & {});
export declare const RuleDmarcPolicy: S.String;
export type RuleDmarcValueList = RuleDmarcPolicy[];
export declare const RuleDmarcValueList: S.$Array<S.String>;
export interface RuleDmarcExpression {
    Operator: RuleDmarcOperator;
    Values: RuleDmarcPolicy[];
}
export declare const RuleDmarcExpression: S.Schema<RuleDmarcExpression>;
export type RuleCondition = {
    BooleanExpression: RuleBooleanExpression;
    StringExpression?: never;
    NumberExpression?: never;
    IpExpression?: never;
    VerdictExpression?: never;
    DmarcExpression?: never;
} | {
    BooleanExpression?: never;
    StringExpression: RuleStringExpression;
    NumberExpression?: never;
    IpExpression?: never;
    VerdictExpression?: never;
    DmarcExpression?: never;
} | {
    BooleanExpression?: never;
    StringExpression?: never;
    NumberExpression: RuleNumberExpression;
    IpExpression?: never;
    VerdictExpression?: never;
    DmarcExpression?: never;
} | {
    BooleanExpression?: never;
    StringExpression?: never;
    NumberExpression?: never;
    IpExpression: RuleIpExpression;
    VerdictExpression?: never;
    DmarcExpression?: never;
} | {
    BooleanExpression?: never;
    StringExpression?: never;
    NumberExpression?: never;
    IpExpression?: never;
    VerdictExpression: RuleVerdictExpression;
    DmarcExpression?: never;
} | {
    BooleanExpression?: never;
    StringExpression?: never;
    NumberExpression?: never;
    IpExpression?: never;
    VerdictExpression?: never;
    DmarcExpression: RuleDmarcExpression;
};
export declare const RuleCondition: S.Union<readonly [S.Struct<{
    readonly BooleanExpression: S.Schema<RuleBooleanExpression>;
}>, S.Struct<{
    readonly StringExpression: S.Schema<RuleStringExpression>;
}>, S.Struct<{
    readonly NumberExpression: S.Schema<RuleNumberExpression>;
}>, S.Struct<{
    readonly IpExpression: S.Schema<RuleIpExpression>;
}>, S.Struct<{
    readonly VerdictExpression: S.Schema<RuleVerdictExpression>;
}>, S.Struct<{
    readonly DmarcExpression: S.Schema<RuleDmarcExpression>;
}>]>;
export type RuleConditions = RuleCondition[];
export declare const RuleConditions: S.$Array<S.Union<readonly [S.Struct<{
    readonly BooleanExpression: S.Schema<RuleBooleanExpression>;
}>, S.Struct<{
    readonly StringExpression: S.Schema<RuleStringExpression>;
}>, S.Struct<{
    readonly NumberExpression: S.Schema<RuleNumberExpression>;
}>, S.Struct<{
    readonly IpExpression: S.Schema<RuleIpExpression>;
}>, S.Struct<{
    readonly VerdictExpression: S.Schema<RuleVerdictExpression>;
}>, S.Struct<{
    readonly DmarcExpression: S.Schema<RuleDmarcExpression>;
}>]>>;
export interface DropAction {
}
export declare const DropAction: S.Schema<DropAction>;
export type ActionFailurePolicy = "CONTINUE" | "DROP" | (string & {});
export declare const ActionFailurePolicy: S.String;
export type MailFrom = "REPLACE" | "PRESERVE" | (string & {});
export declare const MailFrom: S.String;
export interface RelayAction {
    ActionFailurePolicy?: ActionFailurePolicy;
    Relay: string;
    MailFrom?: MailFrom;
}
export declare const RelayAction: S.Schema<RelayAction>;
export interface ArchiveAction {
    ActionFailurePolicy?: ActionFailurePolicy;
    TargetArchive: string;
}
export declare const ArchiveAction: S.Schema<ArchiveAction>;
export interface S3Action {
    ActionFailurePolicy?: ActionFailurePolicy;
    RoleArn: string;
    S3Bucket: string;
    S3Prefix?: string;
    S3SseKmsKeyId?: string;
}
export declare const S3Action: S.Schema<S3Action>;
export interface SendAction {
    ActionFailurePolicy?: ActionFailurePolicy;
    RoleArn: string;
}
export declare const SendAction: S.Schema<SendAction>;
export interface AddHeaderAction {
    HeaderName: string;
    HeaderValue: string;
}
export declare const AddHeaderAction: S.Schema<AddHeaderAction>;
export type Recipients = string | redacted.Redacted<string>[];
export declare const Recipients: S.$Array<S.Schema<string | redacted.Redacted<string>>>;
export interface ReplaceRecipientAction {
    ReplaceWith?: string | redacted.Redacted<string>[];
}
export declare const ReplaceRecipientAction: S.Schema<ReplaceRecipientAction>;
export interface DeliverToMailboxAction {
    ActionFailurePolicy?: ActionFailurePolicy;
    MailboxArn: string;
    RoleArn: string;
}
export declare const DeliverToMailboxAction: S.Schema<DeliverToMailboxAction>;
export interface DeliverToQBusinessAction {
    ActionFailurePolicy?: ActionFailurePolicy;
    ApplicationId: string;
    IndexId: string;
    RoleArn: string;
}
export declare const DeliverToQBusinessAction: S.Schema<DeliverToQBusinessAction>;
export type SnsNotificationEncoding = "UTF-8" | "BASE64" | (string & {});
export declare const SnsNotificationEncoding: S.String;
export type SnsNotificationPayloadType = "HEADERS" | "CONTENT" | (string & {});
export declare const SnsNotificationPayloadType: S.String;
export interface SnsAction {
    ActionFailurePolicy?: ActionFailurePolicy;
    TopicArn: string;
    RoleArn: string;
    Encoding?: SnsNotificationEncoding;
    PayloadType?: SnsNotificationPayloadType;
}
export declare const SnsAction: S.Schema<SnsAction>;
export interface BounceAction {
    ActionFailurePolicy?: ActionFailurePolicy;
    RoleArn: string;
    Sender: string | redacted.Redacted<string>;
    StatusCode: string;
    SmtpReplyCode: string;
    DiagnosticMessage: string | redacted.Redacted<string>;
    Message?: string | redacted.Redacted<string>;
}
export declare const BounceAction: S.Schema<BounceAction>;
export type LambdaInvocationType = "EVENT" | "REQUEST_RESPONSE" | (string & {});
export declare const LambdaInvocationType: S.String;
export interface InvokeLambdaAction {
    ActionFailurePolicy?: ActionFailurePolicy;
    FunctionArn: string;
    InvocationType: LambdaInvocationType;
    RoleArn: string;
    RetryTimeMinutes?: number;
}
export declare const InvokeLambdaAction: S.Schema<InvokeLambdaAction>;
export type RuleAction = {
    Drop: DropAction;
    Relay?: never;
    Archive?: never;
    WriteToS3?: never;
    Send?: never;
    AddHeader?: never;
    ReplaceRecipient?: never;
    DeliverToMailbox?: never;
    DeliverToQBusiness?: never;
    PublishToSns?: never;
    Bounce?: never;
    InvokeLambda?: never;
} | {
    Drop?: never;
    Relay: RelayAction;
    Archive?: never;
    WriteToS3?: never;
    Send?: never;
    AddHeader?: never;
    ReplaceRecipient?: never;
    DeliverToMailbox?: never;
    DeliverToQBusiness?: never;
    PublishToSns?: never;
    Bounce?: never;
    InvokeLambda?: never;
} | {
    Drop?: never;
    Relay?: never;
    Archive: ArchiveAction;
    WriteToS3?: never;
    Send?: never;
    AddHeader?: never;
    ReplaceRecipient?: never;
    DeliverToMailbox?: never;
    DeliverToQBusiness?: never;
    PublishToSns?: never;
    Bounce?: never;
    InvokeLambda?: never;
} | {
    Drop?: never;
    Relay?: never;
    Archive?: never;
    WriteToS3: S3Action;
    Send?: never;
    AddHeader?: never;
    ReplaceRecipient?: never;
    DeliverToMailbox?: never;
    DeliverToQBusiness?: never;
    PublishToSns?: never;
    Bounce?: never;
    InvokeLambda?: never;
} | {
    Drop?: never;
    Relay?: never;
    Archive?: never;
    WriteToS3?: never;
    Send: SendAction;
    AddHeader?: never;
    ReplaceRecipient?: never;
    DeliverToMailbox?: never;
    DeliverToQBusiness?: never;
    PublishToSns?: never;
    Bounce?: never;
    InvokeLambda?: never;
} | {
    Drop?: never;
    Relay?: never;
    Archive?: never;
    WriteToS3?: never;
    Send?: never;
    AddHeader: AddHeaderAction;
    ReplaceRecipient?: never;
    DeliverToMailbox?: never;
    DeliverToQBusiness?: never;
    PublishToSns?: never;
    Bounce?: never;
    InvokeLambda?: never;
} | {
    Drop?: never;
    Relay?: never;
    Archive?: never;
    WriteToS3?: never;
    Send?: never;
    AddHeader?: never;
    ReplaceRecipient: ReplaceRecipientAction;
    DeliverToMailbox?: never;
    DeliverToQBusiness?: never;
    PublishToSns?: never;
    Bounce?: never;
    InvokeLambda?: never;
} | {
    Drop?: never;
    Relay?: never;
    Archive?: never;
    WriteToS3?: never;
    Send?: never;
    AddHeader?: never;
    ReplaceRecipient?: never;
    DeliverToMailbox: DeliverToMailboxAction;
    DeliverToQBusiness?: never;
    PublishToSns?: never;
    Bounce?: never;
    InvokeLambda?: never;
} | {
    Drop?: never;
    Relay?: never;
    Archive?: never;
    WriteToS3?: never;
    Send?: never;
    AddHeader?: never;
    ReplaceRecipient?: never;
    DeliverToMailbox?: never;
    DeliverToQBusiness: DeliverToQBusinessAction;
    PublishToSns?: never;
    Bounce?: never;
    InvokeLambda?: never;
} | {
    Drop?: never;
    Relay?: never;
    Archive?: never;
    WriteToS3?: never;
    Send?: never;
    AddHeader?: never;
    ReplaceRecipient?: never;
    DeliverToMailbox?: never;
    DeliverToQBusiness?: never;
    PublishToSns: SnsAction;
    Bounce?: never;
    InvokeLambda?: never;
} | {
    Drop?: never;
    Relay?: never;
    Archive?: never;
    WriteToS3?: never;
    Send?: never;
    AddHeader?: never;
    ReplaceRecipient?: never;
    DeliverToMailbox?: never;
    DeliverToQBusiness?: never;
    PublishToSns?: never;
    Bounce: BounceAction;
    InvokeLambda?: never;
} | {
    Drop?: never;
    Relay?: never;
    Archive?: never;
    WriteToS3?: never;
    Send?: never;
    AddHeader?: never;
    ReplaceRecipient?: never;
    DeliverToMailbox?: never;
    DeliverToQBusiness?: never;
    PublishToSns?: never;
    Bounce?: never;
    InvokeLambda: InvokeLambdaAction;
};
export declare const RuleAction: S.Union<readonly [S.Struct<{
    readonly Drop: S.Schema<DropAction>;
}>, S.Struct<{
    readonly Relay: S.Schema<RelayAction>;
}>, S.Struct<{
    readonly Archive: S.Schema<ArchiveAction>;
}>, S.Struct<{
    readonly WriteToS3: S.Schema<S3Action>;
}>, S.Struct<{
    readonly Send: S.Schema<SendAction>;
}>, S.Struct<{
    readonly AddHeader: S.Schema<AddHeaderAction>;
}>, S.Struct<{
    readonly ReplaceRecipient: S.Schema<ReplaceRecipientAction>;
}>, S.Struct<{
    readonly DeliverToMailbox: S.Schema<DeliverToMailboxAction>;
}>, S.Struct<{
    readonly DeliverToQBusiness: S.Schema<DeliverToQBusinessAction>;
}>, S.Struct<{
    readonly PublishToSns: S.Schema<SnsAction>;
}>, S.Struct<{
    readonly Bounce: S.Schema<BounceAction>;
}>, S.Struct<{
    readonly InvokeLambda: S.Schema<InvokeLambdaAction>;
}>]>;
export type RuleActions = RuleAction[];
export declare const RuleActions: S.$Array<S.Union<readonly [S.Struct<{
    readonly Drop: S.Schema<DropAction>;
}>, S.Struct<{
    readonly Relay: S.Schema<RelayAction>;
}>, S.Struct<{
    readonly Archive: S.Schema<ArchiveAction>;
}>, S.Struct<{
    readonly WriteToS3: S.Schema<S3Action>;
}>, S.Struct<{
    readonly Send: S.Schema<SendAction>;
}>, S.Struct<{
    readonly AddHeader: S.Schema<AddHeaderAction>;
}>, S.Struct<{
    readonly ReplaceRecipient: S.Schema<ReplaceRecipientAction>;
}>, S.Struct<{
    readonly DeliverToMailbox: S.Schema<DeliverToMailboxAction>;
}>, S.Struct<{
    readonly DeliverToQBusiness: S.Schema<DeliverToQBusinessAction>;
}>, S.Struct<{
    readonly PublishToSns: S.Schema<SnsAction>;
}>, S.Struct<{
    readonly Bounce: S.Schema<BounceAction>;
}>, S.Struct<{
    readonly InvokeLambda: S.Schema<InvokeLambdaAction>;
}>]>>;
export interface Rule {
    Name?: string;
    Conditions?: RuleCondition[];
    Unless?: RuleCondition[];
    Actions: RuleAction[];
}
export declare const Rule: S.Schema<Rule>;
export type Rules = Rule[];
export declare const Rules: S.$Array<S.Schema<Rule>>;
export interface CreateRuleSetRequest {
    ClientToken?: string;
    RuleSetName: string;
    Rules: Rule[];
    Tags?: Tag[];
}
export declare const CreateRuleSetRequest: S.Schema<CreateRuleSetRequest>;
export interface CreateRuleSetResponse {
    RuleSetId: string;
}
export declare const CreateRuleSetResponse: S.Schema<CreateRuleSetResponse>;
export interface GetRuleSetRequest {
    RuleSetId: string;
}
export declare const GetRuleSetRequest: S.Schema<GetRuleSetRequest>;
export interface GetRuleSetResponse {
    RuleSetId: string;
    RuleSetArn: string;
    RuleSetName: string;
    CreatedDate: Date;
    LastModificationDate: Date;
    Rules: Rule[];
}
export declare const GetRuleSetResponse: S.Schema<GetRuleSetResponse>;
export interface UpdateRuleSetRequest {
    RuleSetId: string;
    RuleSetName?: string;
    Rules?: Rule[];
}
export declare const UpdateRuleSetRequest: S.Schema<UpdateRuleSetRequest>;
export interface UpdateRuleSetResponse {
}
export declare const UpdateRuleSetResponse: S.Schema<UpdateRuleSetResponse>;
export interface DeleteRuleSetRequest {
    RuleSetId: string;
}
export declare const DeleteRuleSetRequest: S.Schema<DeleteRuleSetRequest>;
export interface DeleteRuleSetResponse {
}
export declare const DeleteRuleSetResponse: S.Schema<DeleteRuleSetResponse>;
export interface ListRuleSetsRequest {
    NextToken?: string;
    PageSize?: number;
}
export declare const ListRuleSetsRequest: S.Schema<ListRuleSetsRequest>;
export interface RuleSet {
    RuleSetId?: string;
    RuleSetName?: string;
    LastModificationDate?: Date;
}
export declare const RuleSet: S.Schema<RuleSet>;
export type RuleSets = RuleSet[];
export declare const RuleSets: S.$Array<S.Schema<RuleSet>>;
export interface ListRuleSetsResponse {
    RuleSets: RuleSet[];
    NextToken?: string;
}
export declare const ListRuleSetsResponse: S.Schema<ListRuleSetsResponse>;
export type IngressStringEmailAttribute = "RECIPIENT" | (string & {});
export declare const IngressStringEmailAttribute: S.String;
export interface IngressAnalysis {
    Analyzer: string;
    ResultField: string;
}
export declare const IngressAnalysis: S.Schema<IngressAnalysis>;
export type IngressStringToEvaluate = {
    Attribute: IngressStringEmailAttribute;
    Analysis?: never;
} | {
    Attribute?: never;
    Analysis: IngressAnalysis;
};
export declare const IngressStringToEvaluate: S.Union<readonly [S.Struct<{
    readonly Attribute: S.String;
}>, S.Struct<{
    readonly Analysis: S.Schema<IngressAnalysis>;
}>]>;
export type IngressStringOperator = "EQUALS" | "NOT_EQUALS" | "STARTS_WITH" | "ENDS_WITH" | "CONTAINS" | (string & {});
export declare const IngressStringOperator: S.String;
export interface IngressStringExpression {
    Evaluate: IngressStringToEvaluate;
    Operator: IngressStringOperator;
    Values: string[];
}
export declare const IngressStringExpression: S.Schema<IngressStringExpression>;
export type IngressIpv4Attribute = "SENDER_IP" | (string & {});
export declare const IngressIpv4Attribute: S.String;
export type IngressIpToEvaluate = {
    Attribute: IngressIpv4Attribute;
};
export declare const IngressIpToEvaluate: S.Union<readonly [S.Struct<{
    readonly Attribute: S.String;
}>]>;
export type IngressIpOperator = "CIDR_MATCHES" | "NOT_CIDR_MATCHES" | (string & {});
export declare const IngressIpOperator: S.String;
export type Ipv4Cidrs = string[];
export declare const Ipv4Cidrs: S.$Array<S.String>;
export interface IngressIpv4Expression {
    Evaluate: IngressIpToEvaluate;
    Operator: IngressIpOperator;
    Values: string[];
}
export declare const IngressIpv4Expression: S.Schema<IngressIpv4Expression>;
export type IngressIpv6Attribute = "SENDER_IPV6" | (string & {});
export declare const IngressIpv6Attribute: S.String;
export type IngressIpv6ToEvaluate = {
    Attribute: IngressIpv6Attribute;
};
export declare const IngressIpv6ToEvaluate: S.Union<readonly [S.Struct<{
    readonly Attribute: S.String;
}>]>;
export type Ipv6Cidrs = string[];
export declare const Ipv6Cidrs: S.$Array<S.String>;
export interface IngressIpv6Expression {
    Evaluate: IngressIpv6ToEvaluate;
    Operator: IngressIpOperator;
    Values: string[];
}
export declare const IngressIpv6Expression: S.Schema<IngressIpv6Expression>;
export type IngressTlsAttribute = "TLS_PROTOCOL" | (string & {});
export declare const IngressTlsAttribute: S.String;
export type IngressTlsProtocolToEvaluate = {
    Attribute: IngressTlsAttribute;
};
export declare const IngressTlsProtocolToEvaluate: S.Union<readonly [S.Struct<{
    readonly Attribute: S.String;
}>]>;
export type IngressTlsProtocolOperator = "MINIMUM_TLS_VERSION" | "IS" | (string & {});
export declare const IngressTlsProtocolOperator: S.String;
export type IngressTlsProtocolAttribute = "TLS1_2" | "TLS1_3" | (string & {});
export declare const IngressTlsProtocolAttribute: S.String;
export interface IngressTlsProtocolExpression {
    Evaluate: IngressTlsProtocolToEvaluate;
    Operator: IngressTlsProtocolOperator;
    Value: IngressTlsProtocolAttribute;
}
export declare const IngressTlsProtocolExpression: S.Schema<IngressTlsProtocolExpression>;
export type IngressAddressListEmailAttribute = "RECIPIENT" | (string & {});
export declare const IngressAddressListEmailAttribute: S.String;
export type IngressAddressListArnList = string[];
export declare const IngressAddressListArnList: S.$Array<S.String>;
export interface IngressIsInAddressList {
    Attribute: IngressAddressListEmailAttribute;
    AddressLists: string[];
}
export declare const IngressIsInAddressList: S.Schema<IngressIsInAddressList>;
export type IngressBooleanToEvaluate = {
    Analysis: IngressAnalysis;
    IsInAddressList?: never;
} | {
    Analysis?: never;
    IsInAddressList: IngressIsInAddressList;
};
export declare const IngressBooleanToEvaluate: S.Union<readonly [S.Struct<{
    readonly Analysis: S.Schema<IngressAnalysis>;
}>, S.Struct<{
    readonly IsInAddressList: S.Schema<IngressIsInAddressList>;
}>]>;
export type IngressBooleanOperator = "IS_TRUE" | "IS_FALSE" | (string & {});
export declare const IngressBooleanOperator: S.String;
export interface IngressBooleanExpression {
    Evaluate: IngressBooleanToEvaluate;
    Operator: IngressBooleanOperator;
}
export declare const IngressBooleanExpression: S.Schema<IngressBooleanExpression>;
export type PolicyCondition = {
    StringExpression: IngressStringExpression;
    IpExpression?: never;
    Ipv6Expression?: never;
    TlsExpression?: never;
    BooleanExpression?: never;
} | {
    StringExpression?: never;
    IpExpression: IngressIpv4Expression;
    Ipv6Expression?: never;
    TlsExpression?: never;
    BooleanExpression?: never;
} | {
    StringExpression?: never;
    IpExpression?: never;
    Ipv6Expression: IngressIpv6Expression;
    TlsExpression?: never;
    BooleanExpression?: never;
} | {
    StringExpression?: never;
    IpExpression?: never;
    Ipv6Expression?: never;
    TlsExpression: IngressTlsProtocolExpression;
    BooleanExpression?: never;
} | {
    StringExpression?: never;
    IpExpression?: never;
    Ipv6Expression?: never;
    TlsExpression?: never;
    BooleanExpression: IngressBooleanExpression;
};
export declare const PolicyCondition: S.Union<readonly [S.Struct<{
    readonly StringExpression: S.Schema<IngressStringExpression>;
}>, S.Struct<{
    readonly IpExpression: S.Schema<IngressIpv4Expression>;
}>, S.Struct<{
    readonly Ipv6Expression: S.Schema<IngressIpv6Expression>;
}>, S.Struct<{
    readonly TlsExpression: S.Schema<IngressTlsProtocolExpression>;
}>, S.Struct<{
    readonly BooleanExpression: S.Schema<IngressBooleanExpression>;
}>]>;
export type PolicyConditions = PolicyCondition[];
export declare const PolicyConditions: S.$Array<S.Union<readonly [S.Struct<{
    readonly StringExpression: S.Schema<IngressStringExpression>;
}>, S.Struct<{
    readonly IpExpression: S.Schema<IngressIpv4Expression>;
}>, S.Struct<{
    readonly Ipv6Expression: S.Schema<IngressIpv6Expression>;
}>, S.Struct<{
    readonly TlsExpression: S.Schema<IngressTlsProtocolExpression>;
}>, S.Struct<{
    readonly BooleanExpression: S.Schema<IngressBooleanExpression>;
}>]>>;
export type AcceptAction = "ALLOW" | "DENY" | (string & {});
export declare const AcceptAction: S.String;
export interface PolicyStatement {
    Conditions: PolicyCondition[];
    Action: AcceptAction;
}
export declare const PolicyStatement: S.Schema<PolicyStatement>;
export type PolicyStatementList = PolicyStatement[];
export declare const PolicyStatementList: S.$Array<S.Schema<PolicyStatement>>;
export interface CreateTrafficPolicyRequest {
    ClientToken?: string;
    TrafficPolicyName: string;
    PolicyStatements: PolicyStatement[];
    DefaultAction: AcceptAction;
    MaxMessageSizeBytes?: number;
    Tags?: Tag[];
}
export declare const CreateTrafficPolicyRequest: S.Schema<CreateTrafficPolicyRequest>;
export interface CreateTrafficPolicyResponse {
    TrafficPolicyId: string;
}
export declare const CreateTrafficPolicyResponse: S.Schema<CreateTrafficPolicyResponse>;
export interface GetTrafficPolicyRequest {
    TrafficPolicyId: string;
}
export declare const GetTrafficPolicyRequest: S.Schema<GetTrafficPolicyRequest>;
export interface GetTrafficPolicyResponse {
    TrafficPolicyName: string;
    TrafficPolicyId: string;
    TrafficPolicyArn?: string;
    PolicyStatements?: PolicyStatement[];
    MaxMessageSizeBytes?: number;
    DefaultAction?: AcceptAction;
    CreatedTimestamp?: Date;
    LastUpdatedTimestamp?: Date;
}
export declare const GetTrafficPolicyResponse: S.Schema<GetTrafficPolicyResponse>;
export interface UpdateTrafficPolicyRequest {
    TrafficPolicyId: string;
    TrafficPolicyName?: string;
    PolicyStatements?: PolicyStatement[];
    DefaultAction?: AcceptAction;
    MaxMessageSizeBytes?: number;
}
export declare const UpdateTrafficPolicyRequest: S.Schema<UpdateTrafficPolicyRequest>;
export interface UpdateTrafficPolicyResponse {
}
export declare const UpdateTrafficPolicyResponse: S.Schema<UpdateTrafficPolicyResponse>;
export interface DeleteTrafficPolicyRequest {
    TrafficPolicyId: string;
}
export declare const DeleteTrafficPolicyRequest: S.Schema<DeleteTrafficPolicyRequest>;
export interface DeleteTrafficPolicyResponse {
}
export declare const DeleteTrafficPolicyResponse: S.Schema<DeleteTrafficPolicyResponse>;
export interface ListTrafficPoliciesRequest {
    PageSize?: number;
    NextToken?: string;
}
export declare const ListTrafficPoliciesRequest: S.Schema<ListTrafficPoliciesRequest>;
export interface TrafficPolicy {
    TrafficPolicyName: string;
    TrafficPolicyId: string;
    DefaultAction: AcceptAction;
}
export declare const TrafficPolicy: S.Schema<TrafficPolicy>;
export type TrafficPolicyList = TrafficPolicy[];
export declare const TrafficPolicyList: S.$Array<S.Schema<TrafficPolicy>>;
export interface ListTrafficPoliciesResponse {
    TrafficPolicies?: TrafficPolicy[];
    NextToken?: string;
}
export declare const ListTrafficPoliciesResponse: S.Schema<ListTrafficPoliciesResponse>;
declare const AccessDeniedException_base: S.Class<AccessDeniedException, S.TaggedStruct<"AccessDeniedException", {
    readonly Message: S.optional<S.String>;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        AuthError: true;
    };
});
export declare class AccessDeniedException extends AccessDeniedException_base {
}
declare const ResourceNotFoundException_base: S.Class<ResourceNotFoundException, S.TaggedStruct<"ResourceNotFoundException", {
    readonly Message: S.optional<S.String>;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        BadRequestError: true;
    };
});
export declare class ResourceNotFoundException extends ResourceNotFoundException_base {
}
declare const ThrottlingException_base: S.Class<ThrottlingException, S.TaggedStruct<"ThrottlingException", {
    readonly Message: S.optional<S.String>;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        ThrottlingError: true;
    };
});
export declare class ThrottlingException extends ThrottlingException_base {
}
declare const ValidationException_base: S.Class<ValidationException, S.TaggedStruct<"ValidationException", {
    readonly Message: S.optional<S.String>;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        BadRequestError: true;
    };
});
export declare class ValidationException extends ValidationException_base {
}
declare const ConflictException_base: S.Class<ConflictException, S.TaggedStruct<"ConflictException", {
    readonly Message: S.optional<S.String>;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        ConflictError: true;
    };
});
export declare class ConflictException extends ConflictException_base {
}
declare const ServiceQuotaExceededException_base: S.Class<ServiceQuotaExceededException, S.TaggedStruct<"ServiceQuotaExceededException", {
    readonly Message: S.optional<S.String>;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        QuotaError: true;
    };
});
export declare class ServiceQuotaExceededException extends ServiceQuotaExceededException_base {
}
export type CreateAddressListImportJobError = AccessDeniedException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Creates an import job for an address list.
 */
export declare const createAddressListImportJob: API.OperationMethod<CreateAddressListImportJobRequest, CreateAddressListImportJobResponse, CreateAddressListImportJobError, Credentials | Region | HttpClient.HttpClient>;
export type DeregisterMemberFromAddressListError = AccessDeniedException | ConflictException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Removes a member from an address list.
 */
export declare const deregisterMemberFromAddressList: API.OperationMethod<DeregisterMemberFromAddressListRequest, DeregisterMemberFromAddressListResponse, DeregisterMemberFromAddressListError, Credentials | Region | HttpClient.HttpClient>;
export type GetAddressListImportJobError = AccessDeniedException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Fetch attributes of an import job.
 */
export declare const getAddressListImportJob: API.OperationMethod<GetAddressListImportJobRequest, GetAddressListImportJobResponse, GetAddressListImportJobError, Credentials | Region | HttpClient.HttpClient>;
export type GetArchiveExportError = AccessDeniedException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Retrieves the details and current status of a specific email archive export job.
 */
export declare const getArchiveExport: API.OperationMethod<GetArchiveExportRequest, GetArchiveExportResponse, GetArchiveExportError, Credentials | Region | HttpClient.HttpClient>;
export type GetArchiveMessageError = AccessDeniedException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Returns a pre-signed URL that provides temporary download access to the specific email message stored in the archive.
 */
export declare const getArchiveMessage: API.OperationMethod<GetArchiveMessageRequest, GetArchiveMessageResponse, GetArchiveMessageError, Credentials | Region | HttpClient.HttpClient>;
export type GetArchiveMessageContentError = AccessDeniedException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Returns the textual content of a specific email message stored in the archive. Attachments are not included.
 */
export declare const getArchiveMessageContent: API.OperationMethod<GetArchiveMessageContentRequest, GetArchiveMessageContentResponse, GetArchiveMessageContentError, Credentials | Region | HttpClient.HttpClient>;
export type GetArchiveSearchError = AccessDeniedException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Retrieves the details and current status of a specific email archive search job.
 */
export declare const getArchiveSearch: API.OperationMethod<GetArchiveSearchRequest, GetArchiveSearchResponse, GetArchiveSearchError, Credentials | Region | HttpClient.HttpClient>;
export type GetArchiveSearchResultsError = AccessDeniedException | ConflictException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Returns the results of a completed email archive search job.
 */
export declare const getArchiveSearchResults: API.OperationMethod<GetArchiveSearchResultsRequest, GetArchiveSearchResultsResponse, GetArchiveSearchResultsError, Credentials | Region | HttpClient.HttpClient>;
export type GetMemberOfAddressListError = AccessDeniedException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Fetch attributes of a member in an address list.
 */
export declare const getMemberOfAddressList: API.OperationMethod<GetMemberOfAddressListRequest, GetMemberOfAddressListResponse, GetMemberOfAddressListError, Credentials | Region | HttpClient.HttpClient>;
export type ListAddressListImportJobsError = AccessDeniedException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Lists jobs for an address list.
 */
export declare const listAddressListImportJobs: API.OperationMethod<ListAddressListImportJobsRequest, ListAddressListImportJobsResponse, ListAddressListImportJobsError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListAddressListImportJobsRequest) => stream.Stream<ListAddressListImportJobsResponse, ListAddressListImportJobsError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListAddressListImportJobsRequest) => stream.Stream<ImportJob, ListAddressListImportJobsError, Credentials | Region | HttpClient.HttpClient>;
};
export type ListArchiveExportsError = AccessDeniedException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Returns a list of email archive export jobs.
 */
export declare const listArchiveExports: API.OperationMethod<ListArchiveExportsRequest, ListArchiveExportsResponse, ListArchiveExportsError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListArchiveExportsRequest) => stream.Stream<ListArchiveExportsResponse, ListArchiveExportsError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListArchiveExportsRequest) => stream.Stream<ExportSummary, ListArchiveExportsError, Credentials | Region | HttpClient.HttpClient>;
};
export type ListArchiveSearchesError = AccessDeniedException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Returns a list of email archive search jobs.
 */
export declare const listArchiveSearches: API.OperationMethod<ListArchiveSearchesRequest, ListArchiveSearchesResponse, ListArchiveSearchesError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListArchiveSearchesRequest) => stream.Stream<ListArchiveSearchesResponse, ListArchiveSearchesError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListArchiveSearchesRequest) => stream.Stream<SearchSummary, ListArchiveSearchesError, Credentials | Region | HttpClient.HttpClient>;
};
export type ListMembersOfAddressListError = AccessDeniedException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Lists members of an address list.
 */
export declare const listMembersOfAddressList: API.OperationMethod<ListMembersOfAddressListRequest, ListMembersOfAddressListResponse, ListMembersOfAddressListError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListMembersOfAddressListRequest) => stream.Stream<ListMembersOfAddressListResponse, ListMembersOfAddressListError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListMembersOfAddressListRequest) => stream.Stream<SavedAddress, ListMembersOfAddressListError, Credentials | Region | HttpClient.HttpClient>;
};
export type ListTagsForResourceError = ResourceNotFoundException | ValidationException | CommonErrors;
/**
 * Retrieves the list of tags (keys and values) assigned to the resource.
 */
export declare const listTagsForResource: API.OperationMethod<ListTagsForResourceRequest, ListTagsForResourceResponse, ListTagsForResourceError, Credentials | Region | HttpClient.HttpClient>;
export type RegisterMemberToAddressListError = AccessDeniedException | ConflictException | ResourceNotFoundException | ServiceQuotaExceededException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Adds a member to an address list.
 */
export declare const registerMemberToAddressList: API.OperationMethod<RegisterMemberToAddressListRequest, RegisterMemberToAddressListResponse, RegisterMemberToAddressListError, Credentials | Region | HttpClient.HttpClient>;
export type StartAddressListImportJobError = AccessDeniedException | ConflictException | ResourceNotFoundException | ServiceQuotaExceededException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Starts an import job for an address list.
 */
export declare const startAddressListImportJob: API.OperationMethod<StartAddressListImportJobRequest, StartAddressListImportJobResponse, StartAddressListImportJobError, Credentials | Region | HttpClient.HttpClient>;
export type StartArchiveExportError = AccessDeniedException | ResourceNotFoundException | ServiceQuotaExceededException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Initiates an export of emails from the specified archive.
 */
export declare const startArchiveExport: API.OperationMethod<StartArchiveExportRequest, StartArchiveExportResponse, StartArchiveExportError, Credentials | Region | HttpClient.HttpClient>;
export type StartArchiveSearchError = AccessDeniedException | ConflictException | ResourceNotFoundException | ServiceQuotaExceededException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Initiates a search across emails in the specified archive.
 */
export declare const startArchiveSearch: API.OperationMethod<StartArchiveSearchRequest, StartArchiveSearchResponse, StartArchiveSearchError, Credentials | Region | HttpClient.HttpClient>;
export type StopAddressListImportJobError = AccessDeniedException | ConflictException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Stops an ongoing import job for an address list.
 */
export declare const stopAddressListImportJob: API.OperationMethod<StopAddressListImportJobRequest, StopAddressListImportJobResponse, StopAddressListImportJobError, Credentials | Region | HttpClient.HttpClient>;
export type StopArchiveExportError = AccessDeniedException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Stops an in-progress export of emails from an archive.
 */
export declare const stopArchiveExport: API.OperationMethod<StopArchiveExportRequest, StopArchiveExportResponse, StopArchiveExportError, Credentials | Region | HttpClient.HttpClient>;
export type StopArchiveSearchError = AccessDeniedException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Stops an in-progress archive search job.
 */
export declare const stopArchiveSearch: API.OperationMethod<StopArchiveSearchRequest, StopArchiveSearchResponse, StopArchiveSearchError, Credentials | Region | HttpClient.HttpClient>;
export type TagResourceError = ConflictException | ResourceNotFoundException | ServiceQuotaExceededException | ValidationException | CommonErrors;
/**
 * Adds one or more tags (keys and values) to a specified resource.
 */
export declare const tagResource: API.OperationMethod<TagResourceRequest, TagResourceResponse, TagResourceError, Credentials | Region | HttpClient.HttpClient>;
export type UntagResourceError = ConflictException | ResourceNotFoundException | ValidationException | CommonErrors;
/**
 * Remove one or more tags (keys and values) from a specified resource.
 */
export declare const untagResource: API.OperationMethod<UntagResourceRequest, UntagResourceResponse, UntagResourceError, Credentials | Region | HttpClient.HttpClient>;
export type CreateAddonInstanceError = ConflictException | ResourceNotFoundException | ServiceQuotaExceededException | ValidationException | CommonErrors;
/**
 * Creates an Add On instance for the subscription indicated in the request. The resulting Amazon Resource Name (ARN) can be used in a conditional statement for a rule set or traffic policy.
 */
export declare const createAddonInstance: API.OperationMethod<CreateAddonInstanceRequest, CreateAddonInstanceResponse, CreateAddonInstanceError, Credentials | Region | HttpClient.HttpClient>;
export type GetAddonInstanceError = ResourceNotFoundException | ValidationException | CommonErrors;
/**
 * Gets detailed information about an Add On instance.
 */
export declare const getAddonInstance: API.OperationMethod<GetAddonInstanceRequest, GetAddonInstanceResponse, GetAddonInstanceError, Credentials | Region | HttpClient.HttpClient>;
export type DeleteAddonInstanceError = ConflictException | ValidationException | CommonErrors;
/**
 * Deletes an Add On instance.
 */
export declare const deleteAddonInstance: API.OperationMethod<DeleteAddonInstanceRequest, DeleteAddonInstanceResponse, DeleteAddonInstanceError, Credentials | Region | HttpClient.HttpClient>;
export type ListAddonInstancesError = ValidationException | CommonErrors;
/**
 * Lists all Add On instances in your account.
 */
export declare const listAddonInstances: API.OperationMethod<ListAddonInstancesRequest, ListAddonInstancesResponse, ListAddonInstancesError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListAddonInstancesRequest) => stream.Stream<ListAddonInstancesResponse, ListAddonInstancesError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListAddonInstancesRequest) => stream.Stream<AddonInstance, ListAddonInstancesError, Credentials | Region | HttpClient.HttpClient>;
};
export type CreateAddonSubscriptionError = ConflictException | ServiceQuotaExceededException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Creates a subscription for an Add On representing the acceptance of its terms of use and additional pricing. The subscription can then be used to create an instance for use in rule sets or traffic policies.
 */
export declare const createAddonSubscription: API.OperationMethod<CreateAddonSubscriptionRequest, CreateAddonSubscriptionResponse, CreateAddonSubscriptionError, Credentials | Region | HttpClient.HttpClient>;
export type GetAddonSubscriptionError = ResourceNotFoundException | ValidationException | CommonErrors;
/**
 * Gets detailed information about an Add On subscription.
 */
export declare const getAddonSubscription: API.OperationMethod<GetAddonSubscriptionRequest, GetAddonSubscriptionResponse, GetAddonSubscriptionError, Credentials | Region | HttpClient.HttpClient>;
export type DeleteAddonSubscriptionError = ConflictException | ValidationException | CommonErrors;
/**
 * Deletes an Add On subscription.
 */
export declare const deleteAddonSubscription: API.OperationMethod<DeleteAddonSubscriptionRequest, DeleteAddonSubscriptionResponse, DeleteAddonSubscriptionError, Credentials | Region | HttpClient.HttpClient>;
export type ListAddonSubscriptionsError = ValidationException | CommonErrors;
/**
 * Lists all Add On subscriptions in your account.
 */
export declare const listAddonSubscriptions: API.OperationMethod<ListAddonSubscriptionsRequest, ListAddonSubscriptionsResponse, ListAddonSubscriptionsError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListAddonSubscriptionsRequest) => stream.Stream<ListAddonSubscriptionsResponse, ListAddonSubscriptionsError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListAddonSubscriptionsRequest) => stream.Stream<AddonSubscription, ListAddonSubscriptionsError, Credentials | Region | HttpClient.HttpClient>;
};
export type CreateAddressListError = AccessDeniedException | ConflictException | ServiceQuotaExceededException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Creates a new address list.
 */
export declare const createAddressList: API.OperationMethod<CreateAddressListRequest, CreateAddressListResponse, CreateAddressListError, Credentials | Region | HttpClient.HttpClient>;
export type GetAddressListError = AccessDeniedException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Fetch attributes of an address list.
 */
export declare const getAddressList: API.OperationMethod<GetAddressListRequest, GetAddressListResponse, GetAddressListError, Credentials | Region | HttpClient.HttpClient>;
export type DeleteAddressListError = AccessDeniedException | ConflictException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Deletes an address list.
 */
export declare const deleteAddressList: API.OperationMethod<DeleteAddressListRequest, DeleteAddressListResponse, DeleteAddressListError, Credentials | Region | HttpClient.HttpClient>;
export type ListAddressListsError = AccessDeniedException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Lists address lists for this account.
 */
export declare const listAddressLists: API.OperationMethod<ListAddressListsRequest, ListAddressListsResponse, ListAddressListsError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListAddressListsRequest) => stream.Stream<ListAddressListsResponse, ListAddressListsError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListAddressListsRequest) => stream.Stream<AddressList, ListAddressListsError, Credentials | Region | HttpClient.HttpClient>;
};
export type CreateArchiveError = AccessDeniedException | ConflictException | ServiceQuotaExceededException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Creates a new email archive resource for storing and retaining emails.
 */
export declare const createArchive: API.OperationMethod<CreateArchiveRequest, CreateArchiveResponse, CreateArchiveError, Credentials | Region | HttpClient.HttpClient>;
export type GetArchiveError = AccessDeniedException | ResourceNotFoundException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Retrieves the full details and current state of a specified email archive.
 */
export declare const getArchive: API.OperationMethod<GetArchiveRequest, GetArchiveResponse, GetArchiveError, Credentials | Region | HttpClient.HttpClient>;
export type UpdateArchiveError = AccessDeniedException | ConflictException | ResourceNotFoundException | ServiceQuotaExceededException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Updates the attributes of an existing email archive.
 */
export declare const updateArchive: API.OperationMethod<UpdateArchiveRequest, UpdateArchiveResponse, UpdateArchiveError, Credentials | Region | HttpClient.HttpClient>;
export type DeleteArchiveError = AccessDeniedException | ConflictException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Initiates deletion of an email archive. This changes the archive state to pending deletion. In this state, no new emails can be added, and existing archived emails become inaccessible (search, export, download). The archive and all of its contents will be permanently deleted 30 days after entering the pending deletion state, regardless of the configured retention period.
 */
export declare const deleteArchive: API.OperationMethod<DeleteArchiveRequest, DeleteArchiveResponse, DeleteArchiveError, Credentials | Region | HttpClient.HttpClient>;
export type ListArchivesError = AccessDeniedException | ThrottlingException | ValidationException | CommonErrors;
/**
 * Returns a list of all email archives in your account.
 */
export declare const listArchives: API.OperationMethod<ListArchivesRequest, ListArchivesResponse, ListArchivesError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListArchivesRequest) => stream.Stream<ListArchivesResponse, ListArchivesError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListArchivesRequest) => stream.Stream<Archive, ListArchivesError, Credentials | Region | HttpClient.HttpClient>;
};
export type CreateIngressPointError = ConflictException | ServiceQuotaExceededException | ValidationException | CommonErrors;
/**
 * Provision a new ingress endpoint resource.
 */
export declare const createIngressPoint: API.OperationMethod<CreateIngressPointRequest, CreateIngressPointResponse, CreateIngressPointError, Credentials | Region | HttpClient.HttpClient>;
export type GetIngressPointError = ResourceNotFoundException | ValidationException | CommonErrors;
/**
 * Fetch ingress endpoint resource attributes.
 */
export declare const getIngressPoint: API.OperationMethod<GetIngressPointRequest, GetIngressPointResponse, GetIngressPointError, Credentials | Region | HttpClient.HttpClient>;
export type UpdateIngressPointError = ConflictException | ResourceNotFoundException | ValidationException | CommonErrors;
/**
 * Update attributes of a provisioned ingress endpoint resource.
 */
export declare const updateIngressPoint: API.OperationMethod<UpdateIngressPointRequest, UpdateIngressPointResponse, UpdateIngressPointError, Credentials | Region | HttpClient.HttpClient>;
export type DeleteIngressPointError = ConflictException | ResourceNotFoundException | ValidationException | CommonErrors;
/**
 * Delete an ingress endpoint resource.
 */
export declare const deleteIngressPoint: API.OperationMethod<DeleteIngressPointRequest, DeleteIngressPointResponse, DeleteIngressPointError, Credentials | Region | HttpClient.HttpClient>;
export type ListIngressPointsError = ValidationException | CommonErrors;
/**
 * List all ingress endpoint resources.
 */
export declare const listIngressPoints: API.OperationMethod<ListIngressPointsRequest, ListIngressPointsResponse, ListIngressPointsError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListIngressPointsRequest) => stream.Stream<ListIngressPointsResponse, ListIngressPointsError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListIngressPointsRequest) => stream.Stream<IngressPoint, ListIngressPointsError, Credentials | Region | HttpClient.HttpClient>;
};
export type CreateRelayError = ConflictException | ServiceQuotaExceededException | ValidationException | CommonErrors;
/**
 * Creates a relay resource which can be used in rules to relay incoming emails to defined relay destinations.
 */
export declare const createRelay: API.OperationMethod<CreateRelayRequest, CreateRelayResponse, CreateRelayError, Credentials | Region | HttpClient.HttpClient>;
export type GetRelayError = ResourceNotFoundException | ValidationException | CommonErrors;
/**
 * Fetch the relay resource and it's attributes.
 */
export declare const getRelay: API.OperationMethod<GetRelayRequest, GetRelayResponse, GetRelayError, Credentials | Region | HttpClient.HttpClient>;
export type UpdateRelayError = ConflictException | ResourceNotFoundException | ValidationException | CommonErrors;
/**
 * Updates the attributes of an existing relay resource.
 */
export declare const updateRelay: API.OperationMethod<UpdateRelayRequest, UpdateRelayResponse, UpdateRelayError, Credentials | Region | HttpClient.HttpClient>;
export type DeleteRelayError = ConflictException | ResourceNotFoundException | ValidationException | CommonErrors;
/**
 * Deletes an existing relay resource.
 */
export declare const deleteRelay: API.OperationMethod<DeleteRelayRequest, DeleteRelayResponse, DeleteRelayError, Credentials | Region | HttpClient.HttpClient>;
export type ListRelaysError = ValidationException | CommonErrors;
/**
 * Lists all the existing relay resources.
 */
export declare const listRelays: API.OperationMethod<ListRelaysRequest, ListRelaysResponse, ListRelaysError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListRelaysRequest) => stream.Stream<ListRelaysResponse, ListRelaysError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListRelaysRequest) => stream.Stream<Relay, ListRelaysError, Credentials | Region | HttpClient.HttpClient>;
};
export type CreateRuleSetError = ConflictException | ServiceQuotaExceededException | ValidationException | CommonErrors;
/**
 * Provision a new rule set.
 */
export declare const createRuleSet: API.OperationMethod<CreateRuleSetRequest, CreateRuleSetResponse, CreateRuleSetError, Credentials | Region | HttpClient.HttpClient>;
export type GetRuleSetError = ResourceNotFoundException | ValidationException | CommonErrors;
/**
 * Fetch attributes of a rule set.
 */
export declare const getRuleSet: API.OperationMethod<GetRuleSetRequest, GetRuleSetResponse, GetRuleSetError, Credentials | Region | HttpClient.HttpClient>;
export type UpdateRuleSetError = ConflictException | ResourceNotFoundException | ValidationException | CommonErrors;
/**
 * Update attributes of an already provisioned rule set.
 */
export declare const updateRuleSet: API.OperationMethod<UpdateRuleSetRequest, UpdateRuleSetResponse, UpdateRuleSetError, Credentials | Region | HttpClient.HttpClient>;
export type DeleteRuleSetError = ConflictException | ValidationException | CommonErrors;
/**
 * Delete a rule set.
 */
export declare const deleteRuleSet: API.OperationMethod<DeleteRuleSetRequest, DeleteRuleSetResponse, DeleteRuleSetError, Credentials | Region | HttpClient.HttpClient>;
export type ListRuleSetsError = ValidationException | CommonErrors;
/**
 * List rule sets for this account.
 */
export declare const listRuleSets: API.OperationMethod<ListRuleSetsRequest, ListRuleSetsResponse, ListRuleSetsError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListRuleSetsRequest) => stream.Stream<ListRuleSetsResponse, ListRuleSetsError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListRuleSetsRequest) => stream.Stream<RuleSet, ListRuleSetsError, Credentials | Region | HttpClient.HttpClient>;
};
export type CreateTrafficPolicyError = ConflictException | ServiceQuotaExceededException | ValidationException | CommonErrors;
/**
 * Provision a new traffic policy resource.
 */
export declare const createTrafficPolicy: API.OperationMethod<CreateTrafficPolicyRequest, CreateTrafficPolicyResponse, CreateTrafficPolicyError, Credentials | Region | HttpClient.HttpClient>;
export type GetTrafficPolicyError = ResourceNotFoundException | ValidationException | CommonErrors;
/**
 * Fetch attributes of a traffic policy resource.
 */
export declare const getTrafficPolicy: API.OperationMethod<GetTrafficPolicyRequest, GetTrafficPolicyResponse, GetTrafficPolicyError, Credentials | Region | HttpClient.HttpClient>;
export type UpdateTrafficPolicyError = ConflictException | ResourceNotFoundException | ValidationException | CommonErrors;
/**
 * Update attributes of an already provisioned traffic policy resource.
 */
export declare const updateTrafficPolicy: API.OperationMethod<UpdateTrafficPolicyRequest, UpdateTrafficPolicyResponse, UpdateTrafficPolicyError, Credentials | Region | HttpClient.HttpClient>;
export type DeleteTrafficPolicyError = ConflictException | ResourceNotFoundException | ValidationException | CommonErrors;
/**
 * Delete a traffic policy resource.
 */
export declare const deleteTrafficPolicy: API.OperationMethod<DeleteTrafficPolicyRequest, DeleteTrafficPolicyResponse, DeleteTrafficPolicyError, Credentials | Region | HttpClient.HttpClient>;
export type ListTrafficPoliciesError = ValidationException | CommonErrors;
/**
 * List traffic policy resources.
 */
export declare const listTrafficPolicies: API.OperationMethod<ListTrafficPoliciesRequest, ListTrafficPoliciesResponse, ListTrafficPoliciesError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListTrafficPoliciesRequest) => stream.Stream<ListTrafficPoliciesResponse, ListTrafficPoliciesError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListTrafficPoliciesRequest) => stream.Stream<TrafficPolicy, ListTrafficPoliciesError, Credentials | Region | HttpClient.HttpClient>;
};
export {};
//# sourceMappingURL=mailmanager.d.ts.map