import type { HTMLOrSVG } from '../../engine/types'; export declare const DATASTAR_FETCH_EVENT = "datastar-fetch"; export declare const STARTED = "started"; export declare const FINISHED = "finished"; export declare const ERROR = "error"; export declare const RETRYING = "retrying"; export declare const RETRIES_FAILED = "retries-failed"; export interface DatastarFetchEvent { type: string; el: HTMLOrSVG; argsRaw: Record; } export interface CustomEventMap { [DATASTAR_FETCH_EVENT]: CustomEvent; } export type WatcherFn = (this: Document, ev: CustomEventMap[K]) => void; declare global { interface Document { addEventListener(type: K, listener: WatcherFn): void; removeEventListener(type: K, listener: WatcherFn): void; dispatchEvent(ev: CustomEventMap[K]): void; } } export declare function datastarSSEEventWatcher(eventType: string, fn: (argsRaw: Record) => void): void;