/// import { TypedEmitter } from "tiny-typed-emitter"; import OneSecMailAPI from "./OneSecMailAPI.js"; import type { ShortMessage, Attachment, Message, Options } from "./types.js"; interface OneSecMailboxEvents { newMessage: (message: OneSecMailShortMessage) => void; error: (error: Error) => void; } export default function OneSecMail(emailAddress?: string): Promise; export default function OneSecMail(options: Partial): Promise; export default function OneSecMail(emailAddress: string, options?: Partial): Promise; declare class OneSecMailbox extends TypedEmitter { #private; readonly emailAddress: string; constructor(emailAddress: string, api: OneSecMailAPI); getMessages(options?: Partial): Promise; clearMessages(options?: Partial): Promise; startPolling(intervalTime?: number): boolean; stopPolling(): boolean; } declare class OneSecMailShortMessage { #private; readonly id: number; readonly from: string; readonly subject: string; readonly date: string; constructor(emailAddress: string, message: ShortMessage, api: OneSecMailAPI); fetchFullMessage(options?: Partial): Promise; serialize(): ShortMessage; } declare class OneSecMailMessage { readonly id: number; readonly from: string; readonly subject: string; readonly date: string; readonly attachments: OneSecMailAttachment[]; readonly body: string; readonly textBody: string; readonly htmlBody: string; constructor(emailAddress: string, message: Message, api: OneSecMailAPI); serialize(): Message; } declare class OneSecMailAttachment { #private; readonly filename: string; readonly contentType: string; readonly size: number; constructor(emailAddress: string, messageId: number, attachment: Attachment, api: OneSecMailAPI); download(options?: Partial): Promise; serialize(): Attachment; } export {};