UNPKG

react-permissions-dynamic

Version:
22 lines (21 loc) 1.36 kB
import React from 'react'; import type { CheckResult, ActionStatusType, OnCheckPermissionsType, PermissionsContainerType } from './types'; export declare type PermissionsContextType<T extends string = string> = { permissions: PermissionsContainerType<T>; check: (actions: T[] | T) => Promise<CheckResult<T> | null> | CheckResult<T> | null; allowed: (actions: T) => ActionStatusType<T>; }; export declare type PermissionsProps<T extends string = string> = { children: React.ReactNode; permissions?: CheckResult<T>; initialPermissions?: CheckResult<T>; onCheckPermissions?: OnCheckPermissionsType<T>; }; declare const Permissions: <T extends string = string>({ children, initialPermissions, permissions: valuePermissions, onCheckPermissions, }: PermissionsProps<T>) => JSX.Element; export default Permissions; export declare const usePermissions: <T extends string = string>() => PermissionsContextType<T>; export declare const PermissionsProvider: <T extends string = string>({ children, initialPermissions, permissions: valuePermissions, onCheckPermissions, }: PermissionsProps<T>) => JSX.Element; export { PermissionCheck } from './PermissionCheck'; export type { PermissionCheckProps } from './PermissionCheck'; export { useCheckPermission } from './useCheckPermission'; export { useCheckPermissions } from './useCheckPermissions';