/**
 * Experiment provider registry.
 *
 * Maps provider names to their adapter factories.
 * This allows the bootstrap module to dynamically create
 * experiment clients based on token configuration.
 */
import { type ExperimentTrackingCallback } from './adapters/growthbook';
import type { ExperimentClient } from './types';
export interface CreateExperimentClientConfig {
    clientKey: string;
    apiHost?: string;
    /**
     * Initial user attributes for targeting.
     * Used for segment-based targeting.
     */
    attributes?: Record<string, unknown>;
    /**
     * Callback fired when a user is assigned to an experiment.
     * Use this to send experiment data to your analytics provider.
     */
    onExperimentViewed?: ExperimentTrackingCallback;
}
/**
 * Create an experiment client for the specified provider.
 *
 * @param provider - Provider name (e.g., "growthbook")
 * @param config - Provider-specific configuration
 * @returns An ExperimentClient instance
 * @throws Error if the provider is not supported
 */
export declare function createExperimentClient(provider: string, config: CreateExperimentClientConfig): ExperimentClient;
