export interface SesIdentityResult {
  dkimTokens: string[];
  sesIdentityArn?: string;
}

export type SesVerificationStatus = "PENDING" | "VERIFIED" | "FAILED";

export interface SesIdentityStatus {
  verificationStatus: SesVerificationStatus;
  dkimTokens: string[];
}

export interface SesIdentityProvider {
  createIdentity(domain: string): Promise<SesIdentityResult>;
  putMailFromAttributes(domain: string, mailFromDomain: string): Promise<void>;
  getIdentity(domain: string): Promise<SesIdentityStatus>;
  deleteIdentity(domain: string): Promise<void>;
}
