///
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 {};