import { ExceptionOptionType as __ExceptionOptionType } from "@smithy/smithy-client";
import { AccountServiceException as __BaseException } from "./AccountServiceException";
export interface AcceptPrimaryEmailUpdateRequest {
  AccountId: string | undefined;
  PrimaryEmail: string | undefined;
  Otp: string | undefined;
}
export declare const PrimaryEmailUpdateStatus: {
  readonly ACCEPTED: "ACCEPTED";
  readonly PENDING: "PENDING";
};
export type PrimaryEmailUpdateStatus =
  (typeof PrimaryEmailUpdateStatus)[keyof typeof PrimaryEmailUpdateStatus];
export interface AcceptPrimaryEmailUpdateResponse {
  Status?: PrimaryEmailUpdateStatus | undefined;
}
export declare class AccessDeniedException extends __BaseException {
  readonly name: "AccessDeniedException";
  readonly $fault: "client";
  constructor(
    opts: __ExceptionOptionType<AccessDeniedException, __BaseException>
  );
}
export declare class ConflictException extends __BaseException {
  readonly name: "ConflictException";
  readonly $fault: "client";
  constructor(opts: __ExceptionOptionType<ConflictException, __BaseException>);
}
export declare class InternalServerException extends __BaseException {
  readonly name: "InternalServerException";
  readonly $fault: "server";
  $retryable: {};
  constructor(
    opts: __ExceptionOptionType<InternalServerException, __BaseException>
  );
}
export declare class ResourceNotFoundException extends __BaseException {
  readonly name: "ResourceNotFoundException";
  readonly $fault: "client";
  constructor(
    opts: __ExceptionOptionType<ResourceNotFoundException, __BaseException>
  );
}
export declare class TooManyRequestsException extends __BaseException {
  readonly name: "TooManyRequestsException";
  readonly $fault: "client";
  $retryable: {
    throttling: boolean;
  };
  constructor(
    opts: __ExceptionOptionType<TooManyRequestsException, __BaseException>
  );
}
export interface ValidationExceptionField {
  name: string | undefined;
  message: string | undefined;
}
export declare const ValidationExceptionReason: {
  readonly FIELD_VALIDATION_FAILED: "fieldValidationFailed";
  readonly INVALID_REGION_OPT_TARGET: "invalidRegionOptTarget";
};
export type ValidationExceptionReason =
  (typeof ValidationExceptionReason)[keyof typeof ValidationExceptionReason];
export declare class ValidationException extends __BaseException {
  readonly name: "ValidationException";
  readonly $fault: "client";
  reason?: ValidationExceptionReason | undefined;
  fieldList?: ValidationExceptionField[] | undefined;
  constructor(
    opts: __ExceptionOptionType<ValidationException, __BaseException>
  );
}
export declare const AlternateContactType: {
  readonly BILLING: "BILLING";
  readonly OPERATIONS: "OPERATIONS";
  readonly SECURITY: "SECURITY";
};
export type AlternateContactType =
  (typeof AlternateContactType)[keyof typeof AlternateContactType];
export interface DeleteAlternateContactRequest {
  AlternateContactType: AlternateContactType | undefined;
  AccountId?: string | undefined;
}
export interface GetAlternateContactRequest {
  AlternateContactType: AlternateContactType | undefined;
  AccountId?: string | undefined;
}
export interface AlternateContact {
  Name?: string | undefined;
  Title?: string | undefined;
  EmailAddress?: string | undefined;
  PhoneNumber?: string | undefined;
  AlternateContactType?: AlternateContactType | undefined;
}
export interface GetAlternateContactResponse {
  AlternateContact?: AlternateContact | undefined;
}
export interface PutAlternateContactRequest {
  Name: string | undefined;
  Title: string | undefined;
  EmailAddress: string | undefined;
  PhoneNumber: string | undefined;
  AlternateContactType: AlternateContactType | undefined;
  AccountId?: string | undefined;
}
export interface GetContactInformationRequest {
  AccountId?: string | undefined;
}
export interface ContactInformation {
  FullName: string | undefined;
  AddressLine1: string | undefined;
  AddressLine2?: string | undefined;
  AddressLine3?: string | undefined;
  City: string | undefined;
  StateOrRegion?: string | undefined;
  DistrictOrCounty?: string | undefined;
  PostalCode: string | undefined;
  CountryCode: string | undefined;
  PhoneNumber: string | undefined;
  CompanyName?: string | undefined;
  WebsiteUrl?: string | undefined;
}
export interface GetContactInformationResponse {
  ContactInformation?: ContactInformation | undefined;
}
export interface PutContactInformationRequest {
  ContactInformation: ContactInformation | undefined;
  AccountId?: string | undefined;
}
export interface GetPrimaryEmailRequest {
  AccountId: string | undefined;
}
export interface GetPrimaryEmailResponse {
  PrimaryEmail?: string | undefined;
}
export interface StartPrimaryEmailUpdateRequest {
  AccountId: string | undefined;
  PrimaryEmail: string | undefined;
}
export interface StartPrimaryEmailUpdateResponse {
  Status?: PrimaryEmailUpdateStatus | undefined;
}
export interface DisableRegionRequest {
  AccountId?: string | undefined;
  RegionName: string | undefined;
}
export interface EnableRegionRequest {
  AccountId?: string | undefined;
  RegionName: string | undefined;
}
export interface GetRegionOptStatusRequest {
  AccountId?: string | undefined;
  RegionName: string | undefined;
}
export declare const RegionOptStatus: {
  readonly DISABLED: "DISABLED";
  readonly DISABLING: "DISABLING";
  readonly ENABLED: "ENABLED";
  readonly ENABLED_BY_DEFAULT: "ENABLED_BY_DEFAULT";
  readonly ENABLING: "ENABLING";
};
export type RegionOptStatus =
  (typeof RegionOptStatus)[keyof typeof RegionOptStatus];
export interface GetRegionOptStatusResponse {
  RegionName?: string | undefined;
  RegionOptStatus?: RegionOptStatus | undefined;
}
export interface ListRegionsRequest {
  AccountId?: string | undefined;
  MaxResults?: number | undefined;
  NextToken?: string | undefined;
  RegionOptStatusContains?: RegionOptStatus[] | undefined;
}
export interface Region {
  RegionName?: string | undefined;
  RegionOptStatus?: RegionOptStatus | undefined;
}
export interface ListRegionsResponse {
  NextToken?: string | undefined;
  Regions?: Region[] | undefined;
}
export declare const AcceptPrimaryEmailUpdateRequestFilterSensitiveLog: (
  obj: AcceptPrimaryEmailUpdateRequest
) => any;
export declare const ValidationExceptionFieldFilterSensitiveLog: (
  obj: ValidationExceptionField
) => any;
export declare const AlternateContactFilterSensitiveLog: (
  obj: AlternateContact
) => any;
export declare const GetAlternateContactResponseFilterSensitiveLog: (
  obj: GetAlternateContactResponse
) => any;
export declare const PutAlternateContactRequestFilterSensitiveLog: (
  obj: PutAlternateContactRequest
) => any;
export declare const ContactInformationFilterSensitiveLog: (
  obj: ContactInformation
) => any;
export declare const GetContactInformationResponseFilterSensitiveLog: (
  obj: GetContactInformationResponse
) => any;
export declare const PutContactInformationRequestFilterSensitiveLog: (
  obj: PutContactInformationRequest
) => any;
export declare const GetPrimaryEmailResponseFilterSensitiveLog: (
  obj: GetPrimaryEmailResponse
) => any;
export declare const StartPrimaryEmailUpdateRequestFilterSensitiveLog: (
  obj: StartPrimaryEmailUpdateRequest
) => any;
