import { TenantContext } from "@webiny/api-core/features/tenancy/TenantContext/index.js"; import { CmsContext } from "../../../features/shared/abstractions.js"; import { AccessControl } from "../../../features/shared/abstractions.js"; import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js"; import { ModelGroupFactory, PluginGroupsProvider as ProviderAbstraction } from "./abstractions.js"; import type { CmsGroup } from "../../../types/index.js"; /** * PluginGroupsProvider implementation * * Fetches groups from CmsGroupPlugin instances. * Filters by tenant and applies access control. * Results are cached based on tenant + identity + plugin signatures. */ declare class PluginGroupsProviderImpl implements ProviderAbstraction.Interface { private tenantContext; private cmsContext; private accessControl; private identityContext; private groupFactories; private cache; constructor(tenantContext: TenantContext.Interface, cmsContext: CmsContext.Interface, accessControl: AccessControl.Interface, identityContext: IdentityContext.Interface, groupFactories: ModelGroupFactory.Interface[]); getGroups(): Promise; } export declare const PluginGroupsProvider: import("@webiny/di").Implementation; export {};