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>;