/** * Email Sanitizer Library * * A privacy-focused email sanitizer that removes trackers and cleans URLs. * It can operate in two modes: buffered (for simple use cases) and streaming * (for high-performance environments like Cloudflare Workers). * * @example * // Buffered (non-streaming) usage for Node.js or similar environments: * ```typescript * import { sanitizeEmailBuffered, createMinimalRules } from 'email-scrubber-core'; * * const rules = createMinimalRules(); * const originalHtml = ''; * const result = sanitizeEmailBuffered(originalHtml, rules); * console.log(`Cleaned ${result.urlsCleaned} URLs. Result: ${result.html}`); * ``` * * @example * // Streaming usage for edge environments (e.g., Cloudflare Workers): * ```typescript * // In your Cloudflare Worker: * import { getStreamingHandlers, createMinimalRules } from 'email-scrubber-core'; * * async function handleRequest(request) { * const response = await fetch(request); // Get response from origin * const rules = createMinimalRules(); * const handlers = getStreamingHandlers(rules); * * const rewriter = new HTMLRewriter() * .on("a[href]", handlers.linkHandler) * .on("img", handlers.pixelHandler); * * return rewriter.transform(response); * } * ``` */ export { type ClearUrlRules, LinkCleaner } from "./cleaners/LinkCleaner.js"; export { type SanitizableElement, TrackerPixelRemover, type TrackerPixelRemoverOptions, } from "./cleaners/TrackerPixelRemover.js"; export { type SanitizeEmailOptions, type SanitizeEmailResult, sanitizeEmail as sanitizeEmailBuffered, sanitizeEmailSimple as sanitizeEmailSimpleBuffered, } from "./sanitizer.js"; export { getStreamingHandlers } from "./stream-sanitizer.js"; export { createMinimalRules } from "./utils/fetchRules.js"; export declare const VERSION = "1.0.0"; //# sourceMappingURL=index.d.ts.map