import * as _backstage_backend_plugin_api from '@backstage/backend-plugin-api'; import { RoleConditionalPolicyDecision, PermissionInfo } from '@backstage-community/plugin-rbac-common'; /** * Used to provide a list of pluginIDs on which a permission well-known endpoint is to be searched. * @public */ interface PluginIdProvider { getPluginIds: () => string[]; } /** * @public */ interface RBACProvider { getProviderName(): string; connect(connection: RBACProviderConnection): Promise; refresh(): Promise; } /** * @public */ interface RBACProviderConnection { applyRoles(roles: string[][]): Promise; applyPermissions(permissions: string[][]): Promise; applyConditionalPermissions(conditionalPermissions: RoleConditionalPolicyDecision[]): Promise; } /** * An extension point the exposes the ability to configure additional PluginIDProviders. * * @public */ declare const pluginIdProviderExtensionPoint: _backstage_backend_plugin_api.ExtensionPoint; /** * The interface for {@link pluginIdProviderExtensionPoint}. * * @public */ type PluginIdProviderExtensionPoint = { addPluginIdProvider(pluginIdProvider: PluginIdProvider): void; }; /** * @public */ declare const rbacProviderExtensionPoint: _backstage_backend_plugin_api.ExtensionPoint; /** * @public */ type RBACProviderExtensionPoint = { addRBACProvider(...providers: Array>): void; }; export { type PluginIdProvider, type PluginIdProviderExtensionPoint, type RBACProvider, type RBACProviderConnection, type RBACProviderExtensionPoint, pluginIdProviderExtensionPoint, rbacProviderExtensionPoint };