import { type Ref, type App } from 'vue'; import type { FeatureFlagsClient } from '../shared/client'; import type { EvaluationContext, FlagValue } from '../shared/types'; /** * Vue Plugin that provides the FeatureFlagsClient to the entire app. * * @example * ```ts * import { createApp } from 'vue'; * import { FeatureFlyPlugin } from 'featurefly/vue'; * * const app = createApp(App); * app.use(FeatureFlyPlugin, { client: featureFlyClient }); * ``` */ export declare const FeatureFlyPlugin: { install(app: App, options: { client: FeatureFlagsClient; }): void; }; /** * Vue composable for evaluating a single feature flag. * Returns a reactive `Ref` that auto-updates on flag changes. * * @param slug Flag slug identifier * @param defaultValue Default value while loading * @param context Optional reactive evaluation context * * @example * ```vue * * * * ``` */ export declare function useFeatureFlag(slug: string, defaultValue: T, context?: Ref | EvaluationContext): Ref; /** * Vue composable for batch-evaluating all feature flags. * Returns a reactive `Ref>` that auto-updates. * * @example * ```vue * * * * ``` */ export declare function useAllFlags(context?: Ref | EvaluationContext): Ref>;