/**
 * MailxApi — the single typed contract that every mailx service implementation
 * must satisfy. Both the Node-side desktop service (`MailxService`) and the
 * browser-side Android service (`WebMailxService`) declare
 * `implements MailxApi`. Missing methods become build errors instead of
 * silent runtime "parent bridge has no method X" failures.
 *
 * **Why this exists**: until now the two implementations drifted independently.
 * A method added to MailxService for one platform release would be silently
 * absent on the other for months. spellcheck-on-GDrive (2026-05-13) added
 * `getUserDict` / `addUserDictWord` / `removeUserDictWord` to the desktop
 * service; the Android service got none of them; the relay returned
 * `parent bridge has no method`, the client `.catch(() => {})` swallowed the
 * rejection, and the feature silently regressed on phone. With this contract
 * any such addition is a compile-time failure on whichever side it's missing.
 *
 * **Surface**: the 83 method names dispatched by
 * `mailx-service/jsonrpc.ts` plus a handful of internal helpers both
 * implementations need. IPC-only names (`sendMessage`, `createCalendarEvent`,
 * etc.) are listed under their dispatch names — desktop classes that today
 * use a different internal name (e.g., `send`, `createCalendarEventLocal`)
 * add a thin alias method so the contract holds without renaming call sites.
 *
 * **Optional methods**: a handful of methods require an OS popup or native
 * filesystem hook and have no meaningful browser equivalent
 * (`openInWord`, `closeWordEdit`, `showReminderPopup`, `openInTextEditor`,
 * `openLocalPath`). They are declared `?:` so the browser service can
 * legitimately omit them. The desktop service must implement them.
 *
 * **Types**: signatures use `any` where the shape genuinely varies across
 * implementations (envelope rows, settings, AI payloads). The contract's
 * job is name + arity enforcement, not deep schema typing — that lives in
 * the relevant domain types (`Folder`, `AccountConfig`, etc.).
 *
 * **Where to add a new method**: add the method here first. Both
 * implementations will fail to compile until they implement it. Don't add
 * methods to a service class without the interface entry — that's how we
 * got into the silent-drift hole.
 */
export {};
//# sourceMappingURL=mailx-api.js.map