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;