@adobe/genstudio-extensibility-sdk
Version:
GenStudio Extensibility SDK
55 lines (54 loc) • 1.55 kB
TypeScript
import { Channel } from "../channel/Channel";
/**
* Metadata describing a variant's size and aspect ratio.
*/
export type VariantMetadata = {
/** Variant width in pixels */
width: number;
/** Variant height in pixels */
height: number;
/** Optional aspect ratio identifier */
knownAspectRatio?: string;
};
/**
* A single field value within a variant.
*/
export type VariantField = {
/** Field value as a string */
value: string;
/** Optional role name for the field */
roleName?: string;
/** Optional role type for the field, either selection or generation */
roleType?: string;
/** Optional metadata for the field */
metadata?: Record<string, any>;
};
/**
* A variant contains fields and optional metadata.
*/
export type Variant = {
/** Optional metadata describing the variant */
metadata?: VariantMetadata;
/** Field values keyed by field name */
fields: Record<string, VariantField>;
};
/**
* Experience model that includes variants and metadata.
*/
export type ExperienceWithVariant = {
/** Unique identifier for the experience */
id: string;
/** Channels associated with the experience */
channels?: Channel[];
/** Metadata for the experience */
metadata: {
/** Basic info about the experience */
experienceInfo: {
title: string;
};
/** Channels applicable to the experience */
channels: string[];
};
/** Variants keyed by variant ID */
variants: Record<string, Variant>;
};