/** * Refuse a header value EmailMessage would refuse (header injection). * * Python's check is str.splitlines-based: a value is refused when it * spans more than one line, so a single trailing terminator passes (and * serializes inside an encoded word). */ export declare function assertHeaderValue(value: string): void; /** * Fold one unstructured header (Subject, References, In-Reply-To) the * way EmailMessage.as_bytes(policy=SMTP) does, continuation lines and * encoded words included. Returns the header with embedded CRLFs and * no trailing linesep. An empty value renders as `Name:` with no * trailing blank, matching python's empty parse tree. */ export declare function foldUnstructured(name: string, value: string): string; /** * Fold an address header the way python's AddressList folder does: * the whole rendered list stays on the label's line when it fits, * moves to one continuation line when it fits a line by itself, and * otherwise breaks after commas - the comma stays on the prior line * and the next mailbox starts a continuation line behind one space. */ export declare function foldAddressList(name: string, mailboxes: readonly string[]): string; /** * The attachment Content-Disposition header with its filename folded * as python's _fold_mime_parameters does: quoted when ASCII and short, * RFC 2231 `filename*=utf-8''…` when non-ASCII, and split into * numbered `filename*N*=` sections when too long for one line. * * An ASCII filename holding any line break is refused outright the way * EmailMessage refuses it (header injection through the quoted-string * form) - trailing terminators included, unlike the header-value guard. */ export declare function foldContentDisposition(filename: string): string; /** contentmanager._encode_base64: 57 input bytes per 76-char line. */ export declare function encodeBase64Lines(data: Uint8Array): string; /** A body's transfer encoding and its encoded payload. */ export interface EncodedText { cte: '7bit' | '8bit' | 'quoted-printable' | 'base64'; /** LF-separated and LF-terminated; the caller normalizes to CRLF. */ payload: string; } /** * email.contentmanager._encode_text with cte unset under the default * policy (max_line_length 78, cte_type 8bit, linesep LF): short lines * stay 7bit/8bit, anything longer sniffs the first ten lines to pick * quoted-printable or base64. */ export declare function encodeText(body: string): EncodedText; //# sourceMappingURL=mime.d.ts.map