import { ErrorMap, EnhanceRouteOptions, MergedErrorMap, AnyContractRouter, AnyContractProcedure } from '@orpc/contract'; import { a as AnyMiddleware, L as Lazyable, b as AnyRouter, C as Context, c as Lazy, A as AnyProcedure, P as Procedure, M as MergedInitialContext } from './server.qKsRrdxW.js'; declare function getRouter>(router: T, path: readonly string[]): T extends Lazy ? Lazy : Lazyable; type AccessibleLazyRouter> = T extends Lazy> ? AccessibleLazyRouter : T extends AnyProcedure | undefined ? Lazy : Lazy & { [K in keyof T]: T[K] extends Lazyable ? AccessibleLazyRouter : never; }; declare function createAccessibleLazyRouter>(lazied: T): AccessibleLazyRouter; type EnhancedRouter, TInitialContext extends Context, TCurrentContext extends Context, TErrorMap extends ErrorMap> = T extends Lazy ? AccessibleLazyRouter> : T extends Procedure ? Procedure, UCurrentContext, UInputSchema, UOutputSchema, MergedErrorMap, UMeta> : { [K in keyof T]: T[K] extends Lazyable ? EnhancedRouter : never; }; interface EnhanceRouterOptions extends EnhanceRouteOptions { middlewares: readonly AnyMiddleware[]; errorMap: TErrorMap; dedupeLeadingMiddlewares: boolean; } declare function enhanceRouter, TInitialContext extends Context, TCurrentContext extends Context, TErrorMap extends ErrorMap>(router: T, options: EnhanceRouterOptions): EnhancedRouter; interface TraverseContractProceduresOptions { router: AnyContractRouter | AnyRouter; path: readonly string[]; } interface TraverseContractProcedureCallbackOptions { contract: AnyContractProcedure | AnyProcedure; path: readonly string[]; } /** * @deprecated Use `TraverseContractProcedureCallbackOptions` instead. */ type ContractProcedureCallbackOptions = TraverseContractProcedureCallbackOptions; interface LazyTraverseContractProceduresOptions { router: Lazy; path: readonly string[]; } declare function traverseContractProcedures(options: TraverseContractProceduresOptions, callback: (options: TraverseContractProcedureCallbackOptions) => void, lazyOptions?: LazyTraverseContractProceduresOptions[]): LazyTraverseContractProceduresOptions[]; declare function resolveContractProcedures(options: TraverseContractProceduresOptions, callback: (options: TraverseContractProcedureCallbackOptions) => void): Promise; type UnlaziedRouter = T extends AnyProcedure ? T : { [K in keyof T]: T[K] extends Lazyable ? UnlaziedRouter : never; }; declare function unlazyRouter(router: T): Promise>; export { createAccessibleLazyRouter as c, enhanceRouter as e, getRouter as g, resolveContractProcedures as r, traverseContractProcedures as t, unlazyRouter as u }; export type { AccessibleLazyRouter as A, ContractProcedureCallbackOptions as C, EnhanceRouterOptions as E, LazyTraverseContractProceduresOptions as L, TraverseContractProcedureCallbackOptions as T, UnlaziedRouter as U, EnhancedRouter as a, TraverseContractProceduresOptions as b };