import { HookContext, NextFunction, Paginated, Params } from "@feathersjs/feathers"; //#region src/internal.utils.d.ts type MaybeArray = T | readonly T[]; type UnpackMaybeArray = T extends readonly (infer E)[] ? E : T; type Promisable = T | Promise; type KeyOf = Extract; type UnwrapArray = T extends Array ? U : T; type IsAny = 0 extends 1 & T ? true : false; type AnyFallback = IsAny extends true ? Fallback : T; type NeverFallback = [Never] extends [never] ? Fallback : Never; type KeyOfOrDotNotation = KeyOf | `${KeyOf}.${string}`; //#endregion //#region src/types.d.ts declare const hookTypes: readonly ["around", "before", "after", "error"]; type HookType$1 = (typeof hookTypes)[number]; declare const methodNames: readonly ["find", "get", "create", "update", "patch", "remove"]; type MethodName = (typeof methodNames)[number] | ({} & string); type TransportName = 'socketio' | 'rest' | 'external' | 'server'; type ContextFunctionSync = (context: H) => T; type ContextFunctionAsync = (context: H) => Promise; type ContextFunction = (context: H) => T | Promise; type PredicateContextSync = (context: H) => boolean; type PredicateContextAsync = (context: H) => Promise; type PredicateFn = (context: H) => boolean | Promise; type PredicateItemWithContext = (item: T, context: HookContext) => boolean; type TransformerFn, H extends HookContext = HookContext> = (item: T, options: { context: H; i: number; }) => Promisable; type TransformerInputFn, H extends HookContext = HookContext> = (item: T, options: { context: H; i: number; }) => Promisable; type FieldKey = (keyof T & string) | `${Extract}.${string}`; type StringFieldKey = { [K in keyof T & string]: T[K] extends string | null | undefined ? K : never }[keyof T & string] | `${Extract}.${string}`; type DefaultsInput> = { [K in keyof T & string]?: T[K] | (() => T[K]) } & { [K in `${Extract}.${string}`]?: unknown }; declare type HookFunction = (context: H, next?: NextFunction) => Promise | H | void; type TransformParamsFn

= (params: P) => P | void; type DispatchOption = boolean | 'both'; //#endregion //#region src/utility-types/unwrap-paginated.d.ts type UnwrapPaginated = R extends Paginated ? D : R; type UnwrapPaginatedOrArray = T extends Paginated ? D : T extends any[] ? T[number] : T; //#endregion //#region src/utility-types/hook-context.d.ts type ResultSingleHookContext = UnwrapPaginatedOrArray>; type DataSingleHookContext = UnwrapArray>; //#endregion export { Promisable as A, hookTypes as C, KeyOfOrDotNotation as D, KeyOf as E, UnwrapArray as M, MaybeArray as O, TransportName as S, AnyFallback as T, PredicateItemWithContext as _, ContextFunction as a, TransformerFn as b, DefaultsInput as c, HookFunction as d, HookType$1 as f, PredicateFn as g, PredicateContextSync as h, UnwrapPaginatedOrArray as i, UnpackMaybeArray as j, NeverFallback as k, DispatchOption as l, PredicateContextAsync as m, ResultSingleHookContext as n, ContextFunctionAsync as o, MethodName as p, UnwrapPaginated as r, ContextFunctionSync as s, DataSingleHookContext as t, FieldKey as u, StringFieldKey as v, methodNames as w, TransformerInputFn as x, TransformParamsFn as y }; //# sourceMappingURL=hook-context-BsxU1vfN.d.mts.map