import { Neo4jService } from "../../../core/neo4j/services/neo4j.service"; /** * Resolves which (Module) node IDs the current user can READ. Mirrors the * permission model used by the rest of the app (see AuthRepository): a module * is visible to the user iff its parent Feature is subscribed by the user's * Company (or is a core Feature), and the effective `read` permission after * merging the Module's default `permissions` JSON with any role-level * `HAS_PERMISSIONS` overrides resolves to `true`. * * Used by the chatbot to filter the graph catalog at request time. */ export declare class UserModulesRepository { private readonly neo4j; private readonly logger; constructor(neo4j: Neo4jService); /** * Returns every (Module).id the user has effective `read` access to. * * The query reuses `featureModuleQuery` — identical to the permission * resolution run at login by AuthRepository — so the chatbot's module * filter is always in lock-step with the rest of the app. The resolved * effective permissions are returned on a virtual module node as a JSON * string on `properties.permissions`; we parse it and keep the modules * where `read.value === true`. */ findModuleIdsForUser(userId: string): Promise; } //# sourceMappingURL=user-modules.repository.d.ts.map