import { UseAsyncReturn } from 'react-async-hook';
import { SelectionMode } from '@fluentui/react';
import { IPermission } from '@shared/interfaces/permissions';
import React from 'react';
import ExtendedSelection, { ItemsOrKeys } from '@admin/helpers/selection';
export interface IPermissionsContext {
    list: UseAsyncReturn<IPermission[], []>;
    selectedPermissions: IPermission[];
    selection: ExtendedSelection<IPermission>;
}
export interface IPermissionsContextProviderProps {
    defaultSelectedPermissions?: ItemsOrKeys<IPermission>;
    selectionMode?: SelectionMode;
}
export declare const PermissionsContext: React.Context<IPermissionsContext>;
declare const PermissionsContextProvider: React.FC<IPermissionsContextProviderProps>;
declare const usePermissions: () => IPermissionsContext;
export { usePermissions, PermissionsContextProvider };
