import { MiddlewareHandler } from "hono"; import { ManagedRuntime } from "effect"; import { AuthService } from "../services/AuthService.js"; import { PasswordService } from "../services/PasswordService.js"; import { TokenService } from "../services/TokenService.js"; import { UserRepository } from "../services/UserRepository.js"; import { SessionRepository } from "../services/SessionRepository.js"; import { AuditLogService } from "../services/AuditLogService.js"; import { DatabaseService } from "../../database/db.js"; import { Session, User } from "../../../shared/types.js"; declare module "hono" { interface ContextVariableMap { user: User; session: Session; } } export type AppRuntimeContext = PasswordService | TokenService | UserRepository | SessionRepository | AuditLogService | AuthService | DatabaseService; /** * Factory function to create auth middleware with proper Effect-TS ManagedRuntime injection * @param runtime - The Effect-TS ManagedRuntime with all required services * @returns Configured Hono middleware handler */ export declare const createAuthMiddleware: (runtime: ManagedRuntime.ManagedRuntime) => MiddlewareHandler; //# sourceMappingURL=authMiddleware.d.ts.map