import { Db } from 'mongodb'; import { c as RBACAdapter, R as Role, b as RoleDocument, P as Permission } from './index-CEh-y2dx.mjs'; /** * MongoDB adapter configuration */ interface MongoDBAdapterConfig { db: Db; rolesCollection?: string; usersCollection?: string; } /** * MongoDB adapter for RBAC * * @example * ```typescript * import { MongoClient } from 'mongodb'; * import { MongoDBAdapter } from '@yourusername/next-rbac/adapters'; * * const client = new MongoClient(process.env.MONGODB_URI); * await client.connect(); * const db = client.db('myapp'); * * const adapter = new MongoDBAdapter({ db }); * ``` */ declare class MongoDBAdapter implements RBACAdapter { private db; private rolesCollectionName; private usersCollectionName; constructor(config: MongoDBAdapterConfig); private get rolesCollection(); private get usersCollection(); findRole(roleName: Role): Promise; getUserRole(userId: string): Promise; getRolePermissions(roleName: Role): Promise; } export { MongoDBAdapter as M, type MongoDBAdapterConfig as a };