interface HookCollectionimport { type HookCollection } from "https://deno.land/x/windmill@v1.333.5/node_modules/before-after-hook/index.d.ts"; Type ParametersoptionalHooksType extends Record<string, TypeStore> = Record<string, { Options: any; Result: any; Error: any; }>optionalHookName extends keyof HooksType = keyof HooksTypeCall Signatures<Name extends HookName>(name: Name | Name[],hookMethod: HookMethod<GetType<HooksType[Name], "Options", "O">, GetType<HooksType[Name], "Result", "R">>,options?: GetType<HooksType[Name], "Options", "O">,): Promise<GetType<HooksType[Name], "Result", "R">>Invoke before and after hooks Propertiesapi: Pick<HookCollection<HooksType>, | "before" | "error" | "after" | "wrap" | "remove">Public API Methodsbefore<Name extends HookName>(name: Name, beforeHook: BeforeHook<GetType<HooksType[Name], "Options", "O">>): voidAdd before hook for given name error<Name extends HookName>(name: Name, errorHook: ErrorHook<GetType<HooksType[Name], "Options", "O">, GetType<HooksType[Name], "Error", "E">>): voidAdd error hook for given name after<Name extends HookName>(name: Name, afterHook: AfterHook<GetType<HooksType[Name], "Options", "O">, GetType<HooksType[Name], "Result", "R">>): voidAdd after hook for given name wrap<Name extends HookName>(name: Name, wrapHook: WrapHook<GetType<HooksType[Name], "Options", "O">, GetType<HooksType[Name], "Result", "R">>): voidAdd wrap hook for given name remove<Name extends HookName>(name: Name, hook: AnyHook<GetType<HooksType[Name], "Options", "O">, GetType<HooksType[Name], "Result", "R">, GetType<HooksType[Name], "Error", "E">>): voidRemove added hook for given name