import * as react from 'react'; import { ReactNode } from 'react'; import { V as VariantResult } from '../../index-B3YY1P83.js'; import { TogglyEntityContext } from '@ops-ai/toggly-hooks-types'; import '@ops-ai/toggly-local-gates'; interface FeatureProps { /** Single feature flag key to check */ flag?: string; /** Multiple feature flag keys to check */ flags?: string[]; /** Requirement for multiple flags: 'all' or 'any' (default: 'all') */ requirement?: GateRequirement; /** If true, negates the result (default: false) */ negate?: boolean; /** Entity instance or canonical entity context for entity-gated flags */ context?: TogglyEntityContext | Record | null; /** Context kind for registerContext mapper lookup when `context` is a domain object */ contextKind?: string; /** Content to render when the gate passes */ children?: ReactNode; /** Content to render while flags are not ready (not an off-path branch) */ loading?: ReactNode; /** Render prop for conditional styling; always invoked with resolved gate boolean */ render?: (enabled: boolean) => ReactNode; } type GateRequirement = 'all' | 'any'; /** * Feature - React component for conditional rendering based on feature flags */ declare function Feature({ flag, flags, requirement, negate, context, contextKind, children, loading, render, }: Readonly): react.JSX.Element; /** * Hook to check if a feature flag is enabled (includes local post-filter gates). */ declare function useFeatureFlag(flagKey: string, defaultValue?: boolean, context?: TogglyEntityContext | Record | null, contextKind?: string): { enabled: boolean; isReady: boolean; }; /** * Hook to check if multiple feature flags are enabled (includes local post-filter gates). */ declare function useFeatureGate(flagKeys: string[], requirement?: GateRequirement, negate?: boolean, context?: TogglyEntityContext | Record | null, contextKind?: string): { enabled: boolean; isReady: boolean; }; /** * Hook for the current variant assignment of a feature (requires enableVariants in config). */ declare function useVariant(featureKey: string): VariantResult | null; export { Feature, type FeatureProps, type GateRequirement, Feature as default, useFeatureFlag, useFeatureGate, useVariant };