import React from "react";
type VisibilityContext = {
    pluginId: string;
};
type PermissionsMap = Map<string, string[]>;
type NoctoRbacCheck = (ctx: VisibilityContext) => boolean | Promise<boolean>;
type RBACContextType = {
    checkAccess: NoctoRbacCheck;
    isReady: boolean;
};
export declare const NoctoRbacProvider: ({ children, user, isLoading, rbac }: {
    children: React.ReactNode;
    user?: any;
    isLoading?: boolean;
    rbac?: {
        fetchPermissions?: (userId: string) => Promise<PermissionsMap>;
        evaluateAccess?: (permissions?: string[]) => boolean | Promise<boolean>;
    };
}) => React.JSX.Element;
export declare const useNoctoRbac: () => RBACContextType;
export {};
