import * as _ from 'lodash';
import * as _f from 'lodash/fp';
import { PermissionDefinitionInternal } from './PermissionDefinitions';
export declare const mergeTwoPermissions: (receivingPD: PermissionDefinitionInternal, pd: PermissionDefinitionInternal) => PermissionDefinitionInternal;
export declare const areCompatibleOwnHooks: (pd1: PermissionDefinitionInternal, pd2: PermissionDefinitionInternal) => boolean;
export declare const consolidatePermissions: _f.LodashReduce1x1<PermissionDefinitionInternal<number, number>, PermissionDefinitionInternal<number, number>[]>;
export declare const deleteDefinedGrants: _f.LodashReduce1x1<PermissionDefinitionInternal<number, number>, PermissionDefinitionInternal<number, number>[]>;
export declare const mergeCompatibleGrants: (pds: PermissionDefinitionInternal[]) => PermissionDefinitionInternal<number, number>[];
export declare const consolidatePermissionDefinitions: (filter: any, consolidateFlag: boolean | 'force') => (collection: _.List<unknown>) => PermissionDefinitionInternal<number, number>[];
