@ninetailed/experience.js-react
Version:
Ninetailed SDK for React
24 lines (23 loc) • 798 B
TypeScript
import React from 'react';
import { Variant } from './Variant';
export type PersonalizedComponent<P> = React.ComponentType<Omit<P, 'id'> & {
ninetailed?: {
isPersonalized: boolean;
audience: {
id: string;
} | {
id: 'baseline';
};
};
}>;
type Baseline<P> = P & {
id: string;
};
type PersonalizeProps<P> = Baseline<P> & {
variants?: Variant<P>[];
component: PersonalizedComponent<P> | React.ComponentType<P>;
loadingComponent?: React.ComponentType;
holdout?: number;
};
export declare const Personalize: <P extends object>({ component: Component, loadingComponent: LoadingComponent, variants, holdout, ...baseline }: PersonalizeProps<P>) => import("react/jsx-runtime").JSX.Element;
export {};