import type { TNormalizedPermissions, TNormalizedActionRights, TNormalizedDataFences } from '@commercetools-frontend/application-shell-connectors';
type TPermissionName = string;
type TActionRightName = string;
type TActionRightGroup = string;
type TDemandedActionRight = {
    group: TActionRightGroup;
    name: TActionRightName;
};
type TDemandedDataFence = {
    group: string;
    name: string;
    type: string;
};
type TSelectDataFenceData = (demandedDataFenceWithActualValues: TDemandedDataFence & {
    actualDataFenceValues: string[];
}) => string[] | null;
type TProjectPermissions = {
    permissions: TNormalizedPermissions | null;
    actionRights: TNormalizedActionRights | null;
    dataFences: TNormalizedDataFences | null;
};
declare const useIsAuthorized: ({ demandedPermissions, demandedActionRights, demandedDataFences, selectDataFenceData, shouldMatchSomePermissions, projectPermissions, }: {
    demandedPermissions: TPermissionName[];
    demandedActionRights?: TDemandedActionRight[];
    demandedDataFences?: TDemandedDataFence[];
    selectDataFenceData?: TSelectDataFenceData;
    shouldMatchSomePermissions?: boolean;
    projectPermissions?: TProjectPermissions;
}) => boolean;
export default useIsAuthorized;
