import * as plugins from '../../plugins.js'; import type { ISmtpScramVerifier } from '@push.rocks/smartmta'; import type { ISmtpAccountInfo, ISmtpAccountMailPolicy, ISmtpAccountRecipientScope, ISmtpAccountSenderScope } from '../../../dist_ts_interfaces/data/smtp-account.js'; /** * Operator-managed authenticated SMTP submission account. * * At rest the credential is exclusively a hashed SCRAM-SHA-256 verifier — * the plaintext password is machine-generated, shown once at create/rotate * time, and never persisted. `toApiObject()` never exposes the verifier. */ export declare class SmtpAccountDoc extends plugins.smartdata.SmartDataDbDoc { id: string; username: string; description: string; enabled: boolean; /** Hashed credential only — never a plaintext password. */ credentialVerifier: ISmtpScramVerifier; senderScope: ISmtpAccountSenderScope; recipientScope: ISmtpAccountRecipientScope; mailPolicy: ISmtpAccountMailPolicy; createdAt: number; updatedAt: number; createdBy: string; lastRotatedAt?: number; constructor(); /** Wire representation — never carries the verifier or any secret. */ toApiObject(): ISmtpAccountInfo; static findById(id: string): Promise; static findByUsername(username: string): Promise; static findAll(): Promise; }