import { AptlyEmailType } from '../enums/index.js';
import { AptlyBookingSchema } from './booking.js';
import { AptlyBaseSchema } from './extends.js';
import { AptlyInquirySchema } from './inquiry.js';
import { AptlyOrganizationSchema } from './organization.js';
import { AptlyProjectSchema } from './project.js';
import { AptlyUnitSchema } from './unit.js';
import { AptlyOrderSchema } from './order';
export type AptlyUnitEmail = AptlyUnitEmailSchema<string, string>;
export interface AptlyUnitEmailSchema<ID, DATE> extends Omit<AptlyBaseSchema<ID, DATE>, 'name' | 'archived'> {
    type: AptlyEmailType;
    to: string[];
    subject: string;
    references: string;
    inReplyTo: string[];
    hasSendError: boolean;
    sendErrors?: AptlyUnitEmailSendErrorSchema<ID, DATE>[];
    organization: ID | AptlyOrganizationSchema<ID, DATE>;
    project: ID | AptlyProjectSchema<ID, DATE>;
    unit: ID | AptlyUnitSchema<ID, DATE>;
    order?: ID | AptlyOrderSchema<ID, DATE> | null;
    inquiry?: ID | AptlyInquirySchema<ID, DATE>;
    booking?: ID | AptlyBookingSchema<ID, DATE>;
    created: DATE;
}
export interface AptlyUnitEmailSendErrorSchema<ID, DATE> {
    _id: ID;
    code: number;
    description: string;
    message: string;
    recipient: string;
    createdAt: DATE;
}
