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;