react-permissions-dynamic
Version:
This is a package with react-permissions
22 lines (21 loc) • 1.36 kB
TypeScript
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';