export interface User { name: string; mailbox: string; host: string; } export interface Envelope { date?: string | null; subject?: string | null; from?: User[] | null; sender?: User[] | null; replyTo?: User[] | null; to?: User[] | null; cc?: User[] | null; bcc?: User[] | null; inReplyTo?: string | null; messageId: string; } export interface Attrs { /** A 32-bit ID that uniquely identifies this message within its mailbox. */ uid: number; /** A list of flags currently set on this message. */ flags: string[]; /** The internal server date for the message. */ date: string; /** The message's body structure (only set if requested with fetch()). */ struct?: any[] | undefined; envelope?: Envelope; /** The RFC822 message size (only set if requested with fetch()). */ size?: number | undefined; } export interface AttrsWithEnvelope { /** A 32-bit ID that uniquely identifies this message within its mailbox. */ uid: number; /** A list of flags currently set on this message. */ flags: string[]; /** The internal server date for the message. */ date: string; /** The message's body structure (only set if requested with fetch()). */ struct?: any[] | undefined; envelope: Envelope; /** The RFC822 message size (only set if requested with fetch()). */ size?: number | undefined; modseq?: number; }