import { Hono } from "hono"; import { z } from "zod"; import { HonoEnv } from "../api/types"; import type { AuthModuleConfig } from "./routes"; import type { AuthResponsePayload, TransformAuthResponseContext } from "@rebasepro/types"; import type { resolveAuthHooks } from "./auth-hooks"; interface SessionRoutesConfig { router: Hono; config: AuthModuleConfig; ops: ReturnType; parseBody: (schema: z.ZodSchema, body: unknown) => T; buildAuthResponse: (user: { id: string; email: string; displayName?: string | null; photoUrl?: string | null; emailVerified?: boolean; isAnonymous?: boolean; metadata?: Record | null; }, roleIds: string[], accessToken: string, refreshToken: string, providerId: string) => unknown; createSessionAndTokens: (userId: string, userAgent: string, ipAddress: string) => Promise<{ roleIds: string[]; accessToken: string; refreshToken: string; }>; applyTransformHook: (response: AuthResponsePayload, method: TransformAuthResponseContext["method"], request: Request, userId: string) => Promise; } export declare function mountSessionRoutes(opts: SessionRoutesConfig): void; export {};