import {
  AccountState,
  AlternateContactType,
  AwsAccountState,
  PrimaryEmailUpdateStatus,
  RegionOptStatus,
} from "./enums";
export interface AcceptPrimaryEmailUpdateRequest {
  AccountId: string | undefined;
  PrimaryEmail: string | undefined;
  Otp: string | undefined;
}
export interface AcceptPrimaryEmailUpdateResponse {
  Status?: PrimaryEmailUpdateStatus | undefined;
}
export interface ValidationExceptionField {
  name: string | undefined;
  message: string | undefined;
}
export interface GetAccountInformationRequest {
  AccountId?: string | undefined;
}
export interface GetAccountInformationResponse {
  AccountId?: string | undefined;
  AccountName?: string | undefined;
  AccountCreatedDate?: Date | undefined;
  AccountState?: AccountState | undefined;
}
export interface PutAccountNameRequest {
  AccountName: string | undefined;
  AccountId?: string | undefined;
}
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 GetGovCloudAccountInformationRequest {
  StandardAccountId?: string | undefined;
}
export interface GetGovCloudAccountInformationResponse {
  GovCloudAccountId: string | undefined;
  AccountState: AwsAccountState | 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 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;
}
