import type * as Hapi from '@hapi/hapi'; export declare const HapiComponentName = "@hapi/hapi"; /** * This symbol is used to mark a Hapi route handler or server extension handler as * already patched, since its possible to use these handlers multiple times * i.e. when allowing multiple versions of one plugin, or when registering a plugin * multiple times on different servers. */ export declare const handlerPatched: unique symbol; export declare type HapiServerRouteInputMethod = (route: HapiServerRouteInput) => void; export declare type HapiServerRouteInput = PatchableServerRoute | PatchableServerRoute[]; export declare type PatchableServerRoute = Hapi.ServerRoute & { [handlerPatched]?: boolean; }; export declare type HapiPluginObject = Hapi.ServerRegisterPluginObject; export declare type HapiPluginInput = HapiPluginObject | Array>; export declare type RegisterFunction = (plugin: HapiPluginInput, options?: Hapi.ServerRegisterOptions) => Promise; export declare type PatchableExtMethod = Hapi.Lifecycle.Method & { [handlerPatched]?: boolean; }; export declare type ServerExtDirectInput = [ Hapi.ServerRequestExtType, Hapi.Lifecycle.Method, (Hapi.ServerExtOptions | undefined)? ]; export declare const HapiLayerType: { ROUTER: string; PLUGIN: string; EXT: string; }; export declare const HapiLifecycleMethodNames: Set; //# sourceMappingURL=internal-types.d.ts.map