import { Access } from '@redhat-cloud-services/rbac-client/types'; import type { ChromeAPI } from '@redhat-cloud-services/types'; declare global { interface Window { insights: { chrome: ChromeAPI; }; } } export interface RBAC { isOrgAdmin: boolean; permissions: Access[]; } export declare function getRBAC(applicationName?: string, disableCache?: boolean): Promise; export declare function doesHavePermissions(userPermissions: (Access | string)[], permissionList: (Access | string)[], checkResourceDefinitions: boolean): boolean; export declare function hasAllPermissions(userPermissions: (Access | string)[], permissionList: (Access | string)[], checkResourceDefinitions: boolean): boolean; export interface UsePermissionsState extends RBAC { isLoading: boolean; hasAccess?: boolean; } export interface UsePermissionsContextState { isLoading?: boolean; isOrgAdmin: boolean; permissions: (string | Access)[]; hasAccess?: (requiredPermissions: (Access | string)[], checkAll?: boolean, checkResourceDefinitionsOverride?: boolean) => boolean; } export declare const initialPermissions: UsePermissionsContextState; export declare const RBACContext: import("react").Context; export default getRBAC;