declare module "markdown-it-footnote"; declare module "turndown-plugin-gfm"; // htmx is loaded as a classic script on every page and used from TS for // partial swaps (rendering-ownership rule: templ renders, JS swaps). // Members mirror the htmx 2.x public API that bookhoard actually calls; // `trigger`'s element accepts a selector string, per the htmx docs. interface HtmxAjaxOptions { target?: string; swap?: string; values?: Record; headers?: Record; } interface Htmx { ajax(method: string, url: string, options?: HtmxAjaxOptions): Promise; process(element: Element): void; trigger(element: Element | string, eventName: string, detail?: Record): void; } interface Window { htmx: Htmx; }