import { LegacyFeature } from "@trackunit/iris-app-runtime-core-api"; export type HasAccess = boolean | null; export type ValidateAccess = LegacyFeature; /** * Async wrapper around {@link useValidateAccess}. Each helper awaits until the * underlying user, subscription, and feature-flag data has finished loading * before resolving, so callers such as router guards can check access without * having to observe the synchronous `loading` flag themselves. */ export declare const useValidateAccessAsync: () => { hasAccessTo: (requiredAccessTo: ValidateAccess) => Promise; hasFeatureFlag: (flag: string) => Promise; hasPermission: (permission: string) => Promise; }; /** * Synchronously evaluates the current user's access via subscription features, * feature flags, and permissions. Returns predicate helpers plus a `loading` * flag that stays true until user, subscription, and flag data are all present. */ export declare const useValidateAccess: () => { hasAccessTo: (requiredAccessTo: ValidateAccess) => HasAccess; hasFeatureFlag: (flag: string) => HasAccess; hasPermission: (permission: string) => HasAccess; loading: boolean; };