carousel.d.ts 1.1 KB

1234567891011121314151617181920212223242526272829
  1. /// <reference types="react" />
  2. import { JsonLdProps } from './jsonld';
  3. import type { CourseJsonLdProps, RecipeJsonLdProps } from 'src/index';
  4. import type { Review, AggregateRating } from 'src/types';
  5. declare type Director = {
  6. name: string;
  7. };
  8. interface DefaultDataProps {
  9. url: string;
  10. }
  11. interface ExtendedCourseJsonLdProps extends DefaultDataProps, CourseJsonLdProps {
  12. }
  13. interface ExtendedRecipeJsonLdProps extends DefaultDataProps, RecipeJsonLdProps {
  14. }
  15. export interface MovieJsonLdProps {
  16. name: string;
  17. url: string;
  18. image: string;
  19. dateCreated?: string;
  20. director?: Director | Director[];
  21. review?: Review;
  22. aggregateRating?: AggregateRating;
  23. }
  24. export interface CarouselJsonLdProps extends JsonLdProps {
  25. ofType: 'default' | 'movie' | 'recipe' | 'course';
  26. data: any | DefaultDataProps[] | MovieJsonLdProps[] | ExtendedCourseJsonLdProps[] | ExtendedRecipeJsonLdProps[];
  27. }
  28. declare function CarouselJsonLd({ type, keyOverride, ofType, data, ...rest }: CarouselJsonLdProps): JSX.Element;
  29. export default CarouselJsonLd;