/** * Feature flag system for RevealUI Pro/Enterprise tiers. * * Gates premium features based on the current license tier. * Free (OSS) users get the core runtime engine. * Pro/Enterprise users unlock AI, advanced sync, dashboard, etc. * * @dependencies * - ./license.ts - License validation and tier checking */ import { type LicenseTier } from './license.js'; /** All gated features in RevealUI */ export interface FeatureFlags { /** Local AI inference via Inference Snaps or Ollama - available at all tiers (no API key needed) */ aiLocal: boolean; /** AI agent system - local + cloud via RevealUI harness (Pro+) */ ai: boolean; /** AI memory system - working + episodic + vector (Max: basic, Enterprise: full) */ aiMemory: boolean; /** MCP server integration */ mcp: boolean; /** Built-in Stripe payment processing */ payments: boolean; /** Multi-tenant site management */ multiTenant: boolean; /** White-label admin dashboard (planned - not yet implemented) */ whiteLabel: boolean; /** SSO/SAML authentication (planned - not yet implemented) */ sso: boolean; /** Open-model inference configuration - snaps, Ollama, harness (Max+) */ aiInference: boolean; /** Audit logging and compliance trail */ auditLog: boolean; /** Full real-time sync with conflict resolution */ advancedSync: boolean; /** Monitoring dashboard */ dashboard: boolean; /** Custom domain mapping */ customDomain: boolean; /** Analytics and conversion tracking */ analytics: boolean; /** RevVault desktop app - Tauri native AI experience for encrypted secret management (Pro+) */ vaultDesktop: boolean; /** RevVault rotation engine - automated credential lifecycle (Pro+) */ vaultRotation: boolean; /** RevKit environment provisioning - tiered dev profiles (Max+) */ devkitProfiles: boolean; } /** * Returns the current feature flags based on the active license tier. * * @example * ```typescript * import { getFeatures } from '@revealui/core/features' * * const features = getFeatures() * if (features.ai) { * // Enable AI agent system * } * ``` */ export declare function getFeatures(): FeatureFlags; /** * Check if a specific feature is enabled. * * @example * ```typescript * import { isFeatureEnabled } from '@revealui/core/features' * * if (isFeatureEnabled('ai')) { * // AI is available * } * ``` */ export declare function isFeatureEnabled(feature: keyof FeatureFlags): boolean; /** * Returns all features available at a given tier (useful for pricing pages). */ export declare function getFeaturesForTier(tier: LicenseTier): FeatureFlags; /** * Returns the minimum tier required for a given feature. */ export declare function getRequiredTier(feature: keyof FeatureFlags): LicenseTier; /** * Returns the current license tier. Convenience re-export. */ export { getCurrentTier } from './license.js'; //# sourceMappingURL=features.d.ts.map