import { AllowedVariableType } from '@ninetailed/experience.js-shared'; export type FlagResult = { status: 'loading'; value: T; error: null; } | { status: 'success'; value: T; error: null; } | { status: 'error'; value: T; error: Error; }; type UseFlagOptions = { /** * Type for auto tracking * * @remarks * if this is a function then it should be stable, otherwise tracking will happen more frequently than expected */ shouldAutoTrack?: boolean | (() => boolean); }; /** * Hook to access a Ninetailed variable flag with built-in auto-tracking. * * @remarks * For manual control over tracking behavior, consider using {@link useFlagWithManualTracking}. */ export declare function useFlag(flagKey: string, defaultValue: T, options?: UseFlagOptions): FlagResult; export {};