import { InjectionToken } from "@angular/core"; import { ActivatedRouteSnapshot, CanActivateFn, MaybeAsync } from "@angular/router"; /** * Contract implemented by consuming apps to resolve the business unit for the active route. */ export interface BusinessUnitIdResolver { /** * Resolves the business unit id that should be used for route-level permission checks. * * Return `null` when the business unit cannot be determined for the route. * * @param route - The route being protected by the business-unit permission guard. * @returns The business unit id, or `null` when no valid business unit is available. */ resolveBusinessUnitId(route: ActivatedRouteSnapshot): MaybeAsync; } /** * Injection token used by consuming applications to provide a resolver that can * determine the business unit for the current route context. */ export declare const BUSINESS_UNIT_ID_RESOLVER: InjectionToken; /** * Guard that checks route permissions against the business unit resolved for the * current route instead of against the user's global permission set. * * If the route does not declare any permission ids, the guard allows access. * Otherwise it loads the logged-in user state, resolves the route business unit, * and confirms that at least one declared permission exists within that business unit. * * @param route - The route being activated. * @returns `true` when access is allowed, otherwise a redirect to access denied. */ export declare const businessUnitRoutePermissionsGuard: CanActivateFn;