/** * Generate schema.org JSON-LD for a `CreativeWork` representing a * Subscription. * * Supports author/publisher, reviews and aggregate ratings, accessibility * flags and keywords. Only provided fields are emitted in the returned * object. * * See `SubscriptionOptions` for accepted properties. * @returns A JSON-LD compatible `CreativeWork` (Subscription) object */ interface ImageRef { url: string; width?: number; height?: number; } interface PersonRef { name: string; url?: string; } interface OrgRef { name: string; url?: string; } interface RatingItem { ratingValue: number | string; bestRating?: number | string; worstRating?: number | string; } interface ReviewItem { author?: string | PersonRef; datePublished?: string; reviewBody?: string; reviewRating?: RatingItem; } interface AggregateRatingOptions { ratingValue: number | string; reviewCount?: number; ratingCount?: number; bestRating?: number | string; worstRating?: number | string; } interface SubscriptionOptions { name: string; description?: string; image?: string | ImageRef; url?: string; author?: string | PersonRef; publisher?: string | OrgRef; datePublished?: string; dateModified?: string; isAccessibleForFree?: boolean; genre?: string | string[]; keywords?: string | string[]; reviews?: ReviewItem[]; aggregateRating?: AggregateRatingOptions; } declare const generateSubscriptionSchema: ({ name, description, image, url, author, publisher, datePublished, dateModified, isAccessibleForFree, genre, keywords, reviews, aggregateRating, }: SubscriptionOptions) => any; export { generateSubscriptionSchema as default, generateSubscriptionSchema };