/** Task 715 — resolve the account dir for the inbound attachment archive * (email-ingest's buildAttachmentRecords) the same way the outbound path does: * the spawn-set ACCOUNT_DIR wins; absent that, derive from PLATFORM_ROOT + this * account's id via accountDirFor (accountId is already in scope). Returns * undefined only when neither source resolves, which drops the archive to its * metadata-only branch. Reuses Task 714's accountDirFor — no new derivation. */ export declare function resolveArchiveAccountDir(accountId: string): string | undefined; /** Derive the account directory for a known accountId (the account whose * credentials are loading). Authoritative for the email send/reply path, which * holds params.accountId. Returns undefined when PLATFORM_ROOT is absent — the * caller then degrades to resolveOutboundAttachments' env fallback. */ export declare function accountDirFor(accountId: string): string | undefined; export declare const OUTBOUND_ATTACHMENT_MAX_BYTES: number; export interface OutboundAttachment { filename: string; path: string; } /** * Validate agent-supplied attachment paths and map them to nodemailer's * { filename, path } shape. Mirrors the WhatsApp send-document account-scope * check: each path must realpath to a regular file under the account directory * and be within the size cap. Any violation throws a precise error naming the * offending path, so the caller sends no mail rather than a reply that silently * omits the file. Absent/empty input returns [] (a text-only message). */ export declare function resolveOutboundAttachments(accountDir: string | undefined, paths: string[] | undefined): OutboundAttachment[]; /** The " with N attachment(s): a, b" suffix appended to an email-send/-reply * success message. Empty string when nothing was attached. Lives here so both * sender tools render the attachment list identically. */ export declare function formatAttachNote(attachments: OutboundAttachment[]): string; //# sourceMappingURL=attachment-resolve.d.ts.map