import { A as AuthConfig, d as AuthEnv, M as MesobAuth } from './index-Dn-e4r-J.js';
export { e as AuthKvStorage, f as AuthRateLimitConfig, g as SendInvitationParams, h as SendVerificationOTPParams, S as Session, i as SessionCacheConfig, j as SessionStatus, T as TelegramConfig, k as Tenant, U as User } from './index-Dn-e4r-J.js';
import { D as Database } from './index-D90p-4Uh.js';
export { c as createDatabase } from './index-D90p-4Uh.js';
export { AUTH_RATE_LIMIT_POST_PATHS } from './lib/auth-rate-limit.js';
export { cleanupExpiredData, cleanupExpiredSessions, cleanupExpiredVerifications } from './lib/cleanup.js';
export { getSessionCookieName, getSessionKeyNamespace } from './lib/cookie.js';
export { hasPermission, hasPermissionThrow } from './lib/has-role-permission.js';
export { rateLimitClientKey } from './lib/normalize-rate-limit-ip.js';
export { deleteSessionCacheKeys, invalidateSessionCacheForHashedToken, invalidateSessionCacheForUser, sessionCacheKey } from './lib/session-cache.js';
import * as hono from 'hono';
import { MiddlewareHandler } from 'hono';
import '@hono/zod-openapi';
import '@mesob/common';
import 'drizzle-orm/node-postgres';
import 'drizzle-orm';
import 'drizzle-orm/pg-core';
import 'pg';

declare const createAuthRateLimitMiddleware: (config: AuthConfig) => MiddlewareHandler<AuthEnv>;

declare const createSessionMiddleware: () => hono.MiddlewareHandler<any, string, {}, Response>;

declare const createTenantMiddleware: (database: Database, config: AuthConfig) => hono.MiddlewareHandler<any, string, {}, Response>;

declare const createMesobAuth: (authConfig: AuthConfig) => MesobAuth;

export { AuthConfig, Database, MesobAuth, createAuthRateLimitMiddleware, createMesobAuth, createSessionMiddleware, createTenantMiddleware };
