import { EntityPermissionType, EntitySaveOptions } from '@memberjunction/core';
import { MJAccessControlRuleEntity } from '../../generated/entity_subclasses.js';
/**
 * Extended Access Control Rule entity — same dual-purpose pattern as
 * {@link MJDashboardPermissionEntityExtended}, with two differences:
 *
 *  - Uses `GrantedByUserID` instead of `SharedByUserID` (ACR column naming).
 *  - Only notifies when `GranteeType === 'User'` and `GranteeID` is populated.
 *    Role / Everyone / Public grants don't have a single identifiable recipient,
 *    so the payload builder returns `null` to skip.
 *
 * Notifications use the generic `Records` Resource Type from the catalog because
 * ACRs target arbitrary entities — there's no single ResourceType that fits.
 */
export declare class MJAccessControlRuleEntityExtended extends MJAccessControlRuleEntity {
    CheckPermissions(type: EntityPermissionType, throwError: boolean): boolean;
    Save(options?: EntitySaveOptions): Promise<boolean>;
    private actionsSummary;
}
/** Tree-shaking prevention — referenced from the custom/Permissions barrel. */
export declare function LoadMJAccessControlRuleEntityExtended(): void;
//# sourceMappingURL=MJAccessControlRuleEntityExtended.d.ts.map