export type CreateScriptHookReturnNode = { url: string } | void; export type CreateScriptHookReturnDom = | HTMLScriptElement | { script?: HTMLScriptElement; timeout?: number } | void; export type CreateScriptHookReturn = | CreateScriptHookReturnNode | CreateScriptHookReturnDom; export type CreateScriptHookNode = ( url: string, attrs?: Record | undefined, ) => CreateScriptHookReturnNode; export type CreateScriptHookDom = ( url: string, attrs?: Record | undefined, ) => CreateScriptHookReturnDom; export type CreateScriptHook = ( url: string, attrs?: Record | undefined, ) => CreateScriptHookReturn; export type FetchHook = ( args: [string, RequestInit], ) => Promise | void | false;