import { ReactNode } from 'react'; import { FlagKey } from './flag-keys'; interface FlagGateProps { /** The feature flag to check */ flag: FlagKey | string; /** Content to render when flag is enabled */ children: ReactNode; /** Content to render when flag is disabled */ fallback?: ReactNode; /** Invert the check (show children when flag is disabled) */ invert?: boolean; } /** * Conditional renderer: children * Memoized for performance optimization. */ export declare const FlagGate: import('react').MemoExoticComponent<({ flag, children, fallback, invert }: FlagGateProps) => import("react/jsx-runtime").JSX.Element>; /** * Render children only when ALL specified flags are enabled. * Memoized for performance optimization. * * Note: Uses context-based flag checking to comply with Rules of Hooks. * Hooks must not be called inside loops, conditions, or nested functions. */ export declare const FlagGateAll: import('react').MemoExoticComponent<({ flags, children, fallback, }: { flags: (FlagKey | string)[]; children: ReactNode; fallback?: ReactNode; }) => import("react/jsx-runtime").JSX.Element>; /** * Render children when ANY of the specified flags are enabled. * Memoized for performance optimization. * * Note: Uses context-based flag checking to comply with Rules of Hooks. * Hooks must not be called inside loops, conditions, or nested functions. */ export declare const FlagGateAny: import('react').MemoExoticComponent<({ flags, children, fallback, }: { flags: (FlagKey | string)[]; children: ReactNode; fallback?: ReactNode; }) => import("react/jsx-runtime").JSX.Element>; export {};