/** * @module * Factory Helper for Hono. */ import { Hono } from '../../hono'; import type { HonoOptions } from '../../hono-base'; import type { Env, H, HandlerResponse, Input, IntersectNonAnyTypes, MiddlewareHandler } from '../../types'; type InitApp = (app: Hono) => void; export interface CreateHandlersInterface { = any, E2 extends Env = E>(handler1: H): [ H ]; = any, R2 extends HandlerResponse = any, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[ E, E2 ]>>(handler1: H, handler2: H): [ H, H ]; = any, R2 extends HandlerResponse = any, R3 extends HandlerResponse = any, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[ E, E2 ]>, E4 extends Env = IntersectNonAnyTypes<[ E, E2, E3 ]>>(handler1: H, handler2: H, handler3: H): [ H, H, H ]; = any, R2 extends HandlerResponse = any, R3 extends HandlerResponse = any, R4 extends HandlerResponse = any, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[ E, E2 ]>, E4 extends Env = IntersectNonAnyTypes<[ E, E2, E3 ]>, E5 extends Env = IntersectNonAnyTypes<[ E, E2, E3, E4 ]>>(handler1: H, handler2: H, handler3: H, handler4: H): [ H, H, H, H ]; = any, R2 extends HandlerResponse = any, R3 extends HandlerResponse = any, R4 extends HandlerResponse = any, R5 extends HandlerResponse = any, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[ E, E2 ]>, E4 extends Env = IntersectNonAnyTypes<[ E, E2, E3 ]>, E5 extends Env = IntersectNonAnyTypes<[ E, E2, E3, E4 ]>, E6 extends Env = IntersectNonAnyTypes<[ E, E2, E3, E4, E5 ]>>(handler1: H, handler2: H, handler3: H, handler4: H, handler5: H): [ H, H, H, H, H ]; = any, R2 extends HandlerResponse = any, R3 extends HandlerResponse = any, R4 extends HandlerResponse = any, R5 extends HandlerResponse = any, R6 extends HandlerResponse = any, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[ E, E2 ]>, E4 extends Env = IntersectNonAnyTypes<[ E, E2, E3 ]>, E5 extends Env = IntersectNonAnyTypes<[ E, E2, E3, E4 ]>, E6 extends Env = IntersectNonAnyTypes<[ E, E2, E3, E4, E5 ]>, E7 extends Env = IntersectNonAnyTypes<[ E, E2, E3, E4, E5, E6 ]>>(handler1: H, handler2: H, handler3: H, handler4: H, handler5: H, handler6: H): [ H, H, H, H, H, H ]; = any, R2 extends HandlerResponse = any, R3 extends HandlerResponse = any, R4 extends HandlerResponse = any, R5 extends HandlerResponse = any, R6 extends HandlerResponse = any, R7 extends HandlerResponse = any, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[ E, E2 ]>, E4 extends Env = IntersectNonAnyTypes<[ E, E2, E3 ]>, E5 extends Env = IntersectNonAnyTypes<[ E, E2, E3, E4 ]>, E6 extends Env = IntersectNonAnyTypes<[ E, E2, E3, E4, E5 ]>, E7 extends Env = IntersectNonAnyTypes<[ E, E2, E3, E4, E5, E6 ]>, E8 extends Env = IntersectNonAnyTypes<[ E, E2, E3, E4, E5, E6, E7 ]>>(handler1: H, handler2: H, handler3: H, handler4: H, handler5: H, handler6: H, handler7: H): [ H, H, H, H, H, H, H ]; = any, R2 extends HandlerResponse = any, R3 extends HandlerResponse = any, R4 extends HandlerResponse = any, R5 extends HandlerResponse = any, R6 extends HandlerResponse = any, R7 extends HandlerResponse = any, R8 extends HandlerResponse = any, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[ E, E2 ]>, E4 extends Env = IntersectNonAnyTypes<[ E, E2, E3 ]>, E5 extends Env = IntersectNonAnyTypes<[ E, E2, E3, E4 ]>, E6 extends Env = IntersectNonAnyTypes<[ E, E2, E3, E4, E5 ]>, E7 extends Env = IntersectNonAnyTypes<[ E, E2, E3, E4, E5, E6 ]>, E8 extends Env = IntersectNonAnyTypes<[ E, E2, E3, E4, E5, E6, E7 ]>, E9 extends Env = IntersectNonAnyTypes<[ E, E2, E3, E4, E5, E6, E7, E8 ]>>(handler1: H, handler2: H, handler3: H, handler4: H, handler5: H, handler6: H, handler7: H, handler8: H): [ H, H, H, H, H, H, H, H ]; = any, R2 extends HandlerResponse = any, R3 extends HandlerResponse = any, R4 extends HandlerResponse = any, R5 extends HandlerResponse = any, R6 extends HandlerResponse = any, R7 extends HandlerResponse = any, R8 extends HandlerResponse = any, R9 extends HandlerResponse = any, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[ E, E2 ]>, E4 extends Env = IntersectNonAnyTypes<[ E, E2, E3 ]>, E5 extends Env = IntersectNonAnyTypes<[ E, E2, E3, E4 ]>, E6 extends Env = IntersectNonAnyTypes<[ E, E2, E3, E4, E5 ]>, E7 extends Env = IntersectNonAnyTypes<[ E, E2, E3, E4, E5, E6 ]>, E8 extends Env = IntersectNonAnyTypes<[ E, E2, E3, E4, E5, E6, E7 ]>, E9 extends Env = IntersectNonAnyTypes<[ E, E2, E3, E4, E5, E6, E7, E8 ]>, E10 extends Env = IntersectNonAnyTypes<[ E, E2, E3, E4, E5, E6, E7, E8, E9 ]>>(handler1: H, handler2: H, handler3: H, handler4: H, handler5: H, handler6: H, handler7: H, handler8: H, handler9: H): [ H, H, H, H, H, H, H, H, H ]; = any, R2 extends HandlerResponse = any, R3 extends HandlerResponse = any, R4 extends HandlerResponse = any, R5 extends HandlerResponse = any, R6 extends HandlerResponse = any, R7 extends HandlerResponse = any, R8 extends HandlerResponse = any, R9 extends HandlerResponse = any, R10 extends HandlerResponse = any, E2 extends Env = E, E3 extends Env = IntersectNonAnyTypes<[ E, E2 ]>, E4 extends Env = IntersectNonAnyTypes<[ E, E2, E3 ]>, E5 extends Env = IntersectNonAnyTypes<[ E, E2, E3, E4 ]>, E6 extends Env = IntersectNonAnyTypes<[ E, E2, E3, E4, E5 ]>, E7 extends Env = IntersectNonAnyTypes<[ E, E2, E3, E4, E5, E6 ]>, E8 extends Env = IntersectNonAnyTypes<[ E, E2, E3, E4, E5, E6, E7 ]>, E9 extends Env = IntersectNonAnyTypes<[ E, E2, E3, E4, E5, E6, E7, E8 ]>, E10 extends Env = IntersectNonAnyTypes<[ E, E2, E3, E4, E5, E6, E7, E8, E9 ]>, E11 extends Env = IntersectNonAnyTypes<[ E, E2, E3, E4, E5, E6, E7, E8, E9, E10 ]>>(handler1: H, handler2: H, handler3: H, handler4: H, handler5: H, handler6: H, handler7: H, handler8: H, handler9: H, handler10: H): [ H, H, H, H, H, H, H, H, H, H ]; } export declare class Factory { constructor(init?: { initApp?: InitApp; defaultAppOptions?: HonoOptions; }); createApp: (options?: HonoOptions) => Hono; createMiddleware: | void = void>(middleware: MiddlewareHandler) => MiddlewareHandler; createHandlers: CreateHandlersInterface; } export declare const createFactory: (init?: { initApp?: InitApp; defaultAppOptions?: HonoOptions; }) => Factory; export declare const createMiddleware: | void = void>(middleware: MiddlewareHandler) => MiddlewareHandler; export {};