@unhead/schema-org 3.0.0-beta.8 → 3.0.0-rc.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -940,6 +940,134 @@ interface Course extends CourseSimple {
940
940
  }
941
941
  declare const courseResolver: SchemaOrgNodeDefinition<Course>;
942
942
 
943
+ /**
944
+ * Represents a data download distribution.
945
+ */
946
+ interface DataDownload extends Thing {
947
+ '@type'?: 'DataDownload';
948
+ /**
949
+ * The direct download URL for the dataset file.
950
+ */
951
+ 'contentUrl'?: string;
952
+ /**
953
+ * The file format of the distribution (e.g., "CSV", "JSON", "XML", "application/json").
954
+ */
955
+ 'encodingFormat'?: string;
956
+ /**
957
+ * The size of the file in bytes or human-readable format (e.g., "1.5 MB").
958
+ */
959
+ 'contentSize'?: string;
960
+ }
961
+ /**
962
+ * Represents a data catalog that contains this dataset.
963
+ */
964
+ interface DataCatalog extends Thing {
965
+ '@type'?: 'DataCatalog';
966
+ /**
967
+ * The name of the data catalog.
968
+ */
969
+ 'name'?: string;
970
+ /**
971
+ * The URL of the data catalog.
972
+ */
973
+ 'url'?: string;
974
+ }
975
+ interface DatasetSimple extends Thing {
976
+ '@type'?: Arrayable<'Dataset'>;
977
+ /**
978
+ * The name of the dataset.
979
+ * This is a required field for valid Dataset structured data.
980
+ */
981
+ 'name': string;
982
+ /**
983
+ * A short summary describing the dataset.
984
+ * This is a required field for valid Dataset structured data.
985
+ */
986
+ 'description': string;
987
+ /**
988
+ * The location of a page describing the dataset.
989
+ */
990
+ 'url'?: string;
991
+ /**
992
+ * Keywords or tags used to describe the dataset.
993
+ * Multiple entries in a keywords list are delimited by commas.
994
+ */
995
+ 'keywords'?: Arrayable<string>;
996
+ /**
997
+ * The creator or author of this dataset.
998
+ * Can be a Person or Organization, or a reference by ID.
999
+ */
1000
+ 'creator'?: NodeRelations<Identity>;
1001
+ /**
1002
+ * Identifies academic articles that are recommended by the data provider.
1003
+ * Can be the article text, URL, or DOI.
1004
+ */
1005
+ 'citation'?: Arrayable<string>;
1006
+ /**
1007
+ * A license document that applies to this content, typically indicated by URL.
1008
+ * Can also be the license text.
1009
+ */
1010
+ 'license'?: string;
1011
+ /**
1012
+ * The time period that the dataset covers, in ISO 8601 format.
1013
+ * Examples:
1014
+ * - Single date: "2008"
1015
+ * - Time period: "2007-03-01T13:00:00Z/2008-05-11T15:30:00Z"
1016
+ * - Open-ended: "2007-03-01T13:00:00Z/.."
1017
+ */
1018
+ 'temporalCoverage'?: string;
1019
+ /**
1020
+ * The geographic area covered by the dataset.
1021
+ * Can be a place name, coordinates, or a shape.
1022
+ */
1023
+ 'spatialCoverage'?: Arrayable<string | Thing>;
1024
+ /**
1025
+ * A download location for the dataset or a DataDownload object with distribution information.
1026
+ */
1027
+ 'distribution'?: NodeRelations<DataDownload>;
1028
+ /**
1029
+ * The variables that are measured in the dataset.
1030
+ * Can be text descriptions or PropertyValue objects.
1031
+ */
1032
+ 'variableMeasured'?: Arrayable<string | Thing>;
1033
+ /**
1034
+ * A data catalog which contains this dataset.
1035
+ */
1036
+ 'includedInDataCatalog'?: NodeRelation<DataCatalog>;
1037
+ /**
1038
+ * Indicates whether the dataset is accessible for free.
1039
+ */
1040
+ 'isAccessibleForFree'?: boolean;
1041
+ /**
1042
+ * The date on which the dataset was published, in ISO 8601 format.
1043
+ */
1044
+ 'datePublished'?: ResolvableDate;
1045
+ /**
1046
+ * The date on which the dataset was most recently modified, in ISO 8601 format.
1047
+ */
1048
+ 'dateModified'?: ResolvableDate;
1049
+ /**
1050
+ * The version number or identifier for this dataset.
1051
+ */
1052
+ 'version'?: string;
1053
+ /**
1054
+ * A link to the license document or terms of use.
1055
+ */
1056
+ 'sameAs'?: Arrayable<string>;
1057
+ /**
1058
+ * An identifier for the dataset, such as a DOI.
1059
+ */
1060
+ 'identifier'?: Arrayable<string>;
1061
+ }
1062
+ interface Dataset extends DatasetSimple {
1063
+ }
1064
+ declare const PrimaryDatasetId = "#dataset";
1065
+ /**
1066
+ * Describes a Dataset on a WebPage.
1067
+ * A dataset is a body of structured information describing some topic(s) of interest.
1068
+ */
1069
+ declare const datasetResolver: SchemaOrgNodeDefinition<Dataset>;
1070
+
943
1071
  interface PlaceSimple extends Thing {
944
1072
  '@type'?: 'Place';
945
1073
  'name': string;
@@ -1433,269 +1561,1107 @@ interface Movie extends MovieSimple {
1433
1561
  declare const movieResolver: SchemaOrgNodeDefinition<Movie>;
1434
1562
 
1435
1563
  /**
1436
- * Any offered product or service.
1437
- * For example: a pair of shoes; a concert ticket; the rental of a car;
1438
- * a haircut; or an episode of a TV show streamed online.
1564
+ * A collection of music tracks in album form.
1439
1565
  */
1440
- interface ProductSimple extends Thing {
1566
+ interface MusicAlbumSimple extends Thing {
1441
1567
  /**
1442
- * The name of the product.
1568
+ * The name of the music album.
1443
1569
  */
1444
1570
  name: string;
1445
1571
  /**
1446
- * A reference-by-ID to one or more imageObject's which represent the product.
1447
- * - Must be at least 696 pixels wide.
1448
- * - Must be of the following formats+file extensions: .jpg, .png, .gif ,or .webp.
1572
+ * A description of the music album.
1449
1573
  */
1450
- image: NodeRelations<ImageObject | string>;
1574
+ description?: string;
1451
1575
  /**
1452
- * An array of references-by-ID to one or more Offer or aggregateOffer pieces.
1576
+ * The artist that performed this album.
1577
+ * Can be a Person or MusicGroup reference.
1453
1578
  */
1454
- offers?: NodeRelations<Offer | number>;
1579
+ byArtist?: NodeRelations<Person | string>;
1455
1580
  /**
1456
- * A reference to an Organization piece, representing brand associated with the Product.
1581
+ * A music recording (track) on this album.
1457
1582
  */
1458
- brand?: NodeRelation<Organization>;
1583
+ track?: NodeRelations<string>;
1459
1584
  /**
1460
- * A reference to an Organization piece which represents the seller/merchant.
1585
+ * The kind of release which this album is.
1586
+ * For example: "StudioAlbum", "LiveAlbum", "CompilationAlbum", "RemixAlbum", "SoundtrackAlbum", etc.
1461
1587
  */
1462
- seller?: NodeRelation<Organization>;
1588
+ albumProductionType?: string;
1463
1589
  /**
1464
- * A text description of the product.
1590
+ * The kind of release which this album is.
1591
+ * For example: "AlbumRelease", "SingleRelease", "EPRelease", "BroadcastRelease", etc.
1465
1592
  */
1466
- description?: string;
1593
+ albumReleaseType?: string;
1467
1594
  /**
1468
- * An array of references-by-id to one or more Review pieces.
1595
+ * The date the music album was published.
1469
1596
  */
1470
- review?: NodeRelations<Review>;
1597
+ datePublished?: ResolvableDate;
1471
1598
  /**
1472
- * A merchant-specific identifier for the Product.
1599
+ * Genre of the music album.
1473
1600
  */
1474
- sku?: string;
1601
+ genre?: string | string[];
1475
1602
  /**
1476
- * The Global Trade Item Number (GTIN) of the product.
1603
+ * The number of tracks in this album.
1477
1604
  */
1478
- gtin?: string;
1605
+ numTracks?: number;
1479
1606
  /**
1480
- * The Manufacturer Part Number (MPN) of the product.
1607
+ * An image representing the music album (album art).
1481
1608
  */
1482
- mpn?: string;
1609
+ image?: NodeRelations<ImageObject | string>;
1483
1610
  /**
1484
- * The condition of the product (e.g., New, Used, Refurbished).
1611
+ * A URL to a page about the music album.
1485
1612
  */
1486
- itemCondition?: string;
1613
+ url?: string;
1487
1614
  /**
1488
- * An AggregateRating object.
1615
+ * Annotation for the average review score assigned to the music album.
1489
1616
  */
1490
1617
  aggregateRating?: NodeRelation<AggregateRating>;
1491
1618
  /**
1492
- * An AggregateOffer object.
1493
- */
1494
- aggregateOffer?: NodeRelation<AggregateOffer>;
1495
- /**
1496
- * A reference to an Organization piece, representing the brand which produces the Product.
1619
+ * A nested Review of the music album.
1497
1620
  */
1498
- manufacturer?: NodeRelation<Organization>;
1621
+ review?: NodeRelations<Review>;
1499
1622
  }
1500
- interface Product extends ProductSimple {
1623
+ interface MusicAlbum extends MusicAlbumSimple {
1501
1624
  }
1502
- declare const ProductId = "#product";
1503
- declare const productResolver: SchemaOrgNodeDefinition<Product>;
1504
-
1505
1625
  /**
1506
- * An answer offered to a question; perhaps correct, perhaps opinionated or wrong.
1626
+ * Describes a music album.
1507
1627
  */
1508
- interface AnswerSimple extends Thing {
1509
- text: string;
1510
- }
1511
- interface Answer extends AnswerSimple {
1512
- }
1628
+ declare const musicAlbumResolver: SchemaOrgNodeDefinition<MusicAlbum>;
1513
1629
 
1514
1630
  /**
1515
- * A specific question - e.g. from a user seeking answers online, or collected in a Frequently Asked Questions (FAQ) document.
1631
+ * A musical group, such as a band, an orchestra, or a choir.
1516
1632
  */
1517
- interface QuestionSimple extends Thing {
1633
+ interface MusicGroupSimple extends Thing {
1518
1634
  /**
1519
- * The text content of the question.
1635
+ * The name of the music group.
1520
1636
  */
1521
- name?: string;
1637
+ name: string;
1522
1638
  /**
1523
- * An answer object, with a text property which contains the answer to the question.
1639
+ * A description of the music group.
1524
1640
  */
1525
- acceptedAnswer?: NodeRelation<Answer | string>;
1641
+ description?: string;
1526
1642
  /**
1527
- * The language code for the question; e.g., en-GB.
1643
+ * Genre of the music group.
1528
1644
  */
1529
- inLanguage?: string;
1645
+ genre?: string | string[];
1530
1646
  /**
1531
- * The number of answers provided for this question.
1647
+ * A member of the music group.
1532
1648
  */
1533
- answerCount?: number;
1649
+ member?: NodeRelations<Person | string>;
1534
1650
  /**
1535
- * The date and time the question was created.
1651
+ * The date the music group was founded.
1536
1652
  */
1537
- dateCreated?: ResolvableDate;
1653
+ foundingDate?: ResolvableDate;
1538
1654
  /**
1539
- * Alias for `name`
1655
+ * The date the music group dissolved (if applicable).
1540
1656
  */
1541
- question?: string;
1657
+ dissolutionDate?: ResolvableDate;
1542
1658
  /**
1543
- * Alias for `acceptedAnswer`
1659
+ * A music album released by this group.
1544
1660
  */
1545
- answer?: string;
1661
+ album?: NodeRelations<string>;
1662
+ /**
1663
+ * A music recording (track) by this group.
1664
+ */
1665
+ track?: NodeRelations<string>;
1666
+ /**
1667
+ * A URL to a page about the music group.
1668
+ */
1669
+ url?: string;
1670
+ /**
1671
+ * An image representing the music group.
1672
+ */
1673
+ image?: NodeRelations<ImageObject | string>;
1674
+ /**
1675
+ * An array of URLs representing declared social/authoritative profiles of the music group
1676
+ * (e.g., a Wikipedia page, Facebook profile, or official website).
1677
+ */
1678
+ sameAs?: Arrayable<string>;
1546
1679
  }
1547
- interface Question extends QuestionSimple {
1680
+ interface MusicGroup extends MusicGroupSimple {
1548
1681
  }
1549
1682
  /**
1550
- * Describes a Question. Most commonly used in FAQPage or QAPage content.
1683
+ * Describes a musical group, such as a band, an orchestra, or a choir.
1551
1684
  */
1552
- declare const questionResolver: SchemaOrgNodeDefinition<Question>;
1685
+ declare const musicGroupResolver: SchemaOrgNodeDefinition<MusicGroup>;
1553
1686
 
1554
- interface RecipeSimple extends Thing {
1687
+ /**
1688
+ * A collection of music tracks in playlist form.
1689
+ */
1690
+ interface MusicPlaylistSimple extends Thing {
1555
1691
  /**
1556
- * A string describing the recipe.
1692
+ * The name of the music playlist.
1557
1693
  */
1558
- name?: string;
1694
+ name: string;
1559
1695
  /**
1560
- * An image representing the completed recipe, referenced by ID.
1696
+ * A description of the music playlist.
1561
1697
  */
1562
- image?: NodeRelation<ImageObject | string>;
1698
+ description?: string;
1563
1699
  /**
1564
- * An array of strings representing each ingredient and quantity (e.g., "3 apples").
1700
+ * The number of tracks in this playlist.
1565
1701
  */
1566
- recipeIngredient: string[];
1702
+ numTracks?: number;
1567
1703
  /**
1568
- * An array of HowToStep objects.
1704
+ * A music recording (track) in this playlist.
1569
1705
  */
1570
- recipeInstructions: NodeRelations<HowToStep | string>;
1706
+ track?: NodeRelations<string>;
1571
1707
  /**
1572
- * A string describing the recipe.
1708
+ * The creator/curator of the playlist.
1709
+ * Can be a Person or MusicGroup reference.
1573
1710
  */
1574
- description?: string;
1711
+ creator?: NodeRelation<Person | string>;
1575
1712
  /**
1576
- * The cooking time in ISO 8601 format.
1713
+ * The date the music playlist was published.
1577
1714
  */
1578
- cookTime?: string;
1715
+ datePublished?: ResolvableDate;
1579
1716
  /**
1580
- * The time required to prepare the recipe.
1717
+ * The date the music playlist was last modified.
1581
1718
  */
1582
- prepTime?: string;
1719
+ dateModified?: ResolvableDate;
1583
1720
  /**
1584
- * The total time required to prepare and cook the recipe in ISO 8601 format.
1721
+ * A URL to a page about the music playlist.
1585
1722
  */
1586
- totalTime?: string;
1723
+ url?: string;
1587
1724
  /**
1588
- * The cooking method used to prepare the recipe.
1725
+ * An image representing the music playlist.
1589
1726
  */
1590
- cookingMethod?: string;
1727
+ image?: NodeRelations<ImageObject | string>;
1591
1728
  /**
1592
- * A NutritionInformation node, with a calories property which defines a calorie count as a string (e.g., "270 calories").
1729
+ * Annotation for the average review score assigned to the music playlist.
1593
1730
  */
1594
- nutrition?: NutritionInformation;
1731
+ aggregateRating?: NodeRelation<AggregateRating>;
1732
+ }
1733
+ interface MusicPlaylist extends MusicPlaylistSimple {
1734
+ }
1735
+ /**
1736
+ * Describes a collection of music tracks in playlist form.
1737
+ */
1738
+ declare const musicPlaylistResolver: SchemaOrgNodeDefinition<MusicPlaylist>;
1739
+
1740
+ /**
1741
+ * A music recording (track), typically a single song.
1742
+ */
1743
+ interface MusicRecordingSimple extends Thing {
1595
1744
  /**
1596
- * The number of servings the recipe creates (not the number of individual items, if these are different), as a string
1597
- * (e.g., "6", rather than 6).
1745
+ * The name of the music recording.
1598
1746
  */
1599
- recipeYield?: string;
1747
+ name: string;
1600
1748
  /**
1601
- * An array of strings representing the tools required in the recipe.
1749
+ * A description of the music recording.
1602
1750
  */
1603
- tools?: string[];
1751
+ description?: string;
1604
1752
  /**
1605
- * An array of keywords describing the recipe.
1753
+ * The duration of the music recording in ISO 8601 format (e.g., PT4M23S for 4 minutes 23 seconds).
1606
1754
  */
1607
- keywords?: string[];
1755
+ duration?: string;
1608
1756
  /**
1609
- * A string describing the cuisine type (e.g., "American" or "Spanish").
1757
+ * The artist that performed this recording.
1758
+ * Can be a Person or MusicGroup reference.
1610
1759
  */
1611
- recipeCuisine?: string;
1760
+ byArtist?: NodeRelations<Person | string>;
1612
1761
  /**
1613
- * The category of the recipe.
1762
+ * The album to which this recording belongs.
1614
1763
  */
1615
- recipeCategory?: 'Appetizer' | 'Breakfast' | 'Brunch' | 'Dessert' | 'Dinner' | 'Drink' | 'Lunch' | 'Main course' | 'Sauce' | 'Side dish' | 'Snack' | 'Starter' | (string & Record<never, never>);
1764
+ inAlbum?: NodeRelation<string>;
1616
1765
  /**
1617
- * A RestrictedDiet node, with a value (or array of values
1766
+ * The playlist(s) this recording belongs to.
1618
1767
  */
1619
- suitableForDiet?: Partial<'DiabeticDiet' | 'GlutenFreeDiet' | 'HalalDiet' | 'HinduDiet' | 'KosherDiet' | 'LowCalorieDiet' | 'LowFatDiet' | 'LowLactoseDiet' | 'LowSaltDiet' | 'VeganDiet' | 'VegetarianDiet'>[];
1768
+ inPlaylist?: NodeRelations<string>;
1620
1769
  /**
1621
- * A reference to a video representing the recipe instructions, by ID.
1770
+ * The International Standard Recording Code for the recording.
1622
1771
  */
1623
- video?: NodeRelations<VideoObject | IdReference>;
1772
+ isrcCode?: string;
1624
1773
  /**
1625
- * The language code for the guide; e.g., en-GB.
1774
+ * The composition this recording is a performance of.
1626
1775
  */
1627
- inLanguage?: string;
1776
+ recordingOf?: NodeRelation<string>;
1628
1777
  /**
1629
- * A reference-by-ID to the author of the article.
1778
+ * The date the music recording was published.
1630
1779
  */
1631
- author?: NodeRelation<Person>;
1780
+ datePublished?: ResolvableDate;
1632
1781
  /**
1633
- * The date when the recipe was added, in ISO 8601 format.
1782
+ * Genre of the music recording.
1634
1783
  */
1635
- datePublished?: ResolvableDate;
1636
- }
1637
- interface Recipe extends RecipeSimple {
1638
- }
1639
- interface NutritionInformation extends Thing {
1640
- '@type': 'NutritionInformation';
1784
+ genre?: string | string[];
1641
1785
  /**
1642
- * A calorie count as a string (e.g., "270 calories").
1786
+ * A URL to a page about the music recording.
1643
1787
  */
1644
- 'calories': string;
1788
+ url?: string;
1789
+ /**
1790
+ * A URL to the audio file.
1791
+ */
1792
+ audio?: string;
1793
+ /**
1794
+ * An image representing the music recording (typically album art).
1795
+ */
1796
+ image?: NodeRelations<ImageObject | string>;
1797
+ /**
1798
+ * Annotation for the average review score assigned to the music recording.
1799
+ */
1800
+ aggregateRating?: NodeRelation<AggregateRating>;
1645
1801
  }
1646
- declare const RecipeId = "#recipe";
1647
- declare const recipeResolver: SchemaOrgNodeDefinition<Recipe>;
1802
+ interface MusicRecording extends MusicRecordingSimple {
1803
+ }
1804
+ /**
1805
+ * Describes a music recording (track), typically a single song.
1806
+ */
1807
+ declare const musicRecordingResolver: SchemaOrgNodeDefinition<MusicRecording>;
1648
1808
 
1649
- type ApplicationCategory = 'GameApplication' | 'SocialNetworkingApplication' | 'TravelApplication' | 'ShoppingApplication' | 'SportsApplication' | 'LifestyleApplication' | 'BusinessApplication' | 'DesignApplication' | 'DeveloperApplication' | 'DriverApplication' | 'EducationalApplication' | 'HealthApplication' | 'FinanceApplication' | 'SecurityApplication' | 'BrowserApplication' | 'CommunicationApplication' | 'DesktopEnhancementApplication' | 'EntertainmentApplication' | 'MultimediaApplication' | 'HomeApplication' | 'UtilitiesApplication' | 'ReferenceApplication';
1650
- interface SoftwareAppSimple extends Thing {
1651
- '@type'?: Arrayable<'SoftwareApplication' | 'MobileApplication' | 'VideoGame' | 'WebApplication'>;
1809
+ interface PodcastEpisodeSimple extends Thing {
1652
1810
  /**
1653
- * The name of the app.
1811
+ * The name of the episode.
1654
1812
  */
1655
- 'name'?: string;
1813
+ name: string;
1656
1814
  /**
1657
- * An offer to sell the app.
1658
- * For developers, offers can indicate the marketplaces that carry the application.
1659
- * For marketplaces, use offers to indicate the price of the app for a specific app instance.
1815
+ * A description of the episode.
1660
1816
  */
1661
- 'offers': NodeRelations<Offer>;
1817
+ description?: string;
1662
1818
  /**
1663
- * The average review score of the app.
1819
+ * The episode number.
1664
1820
  */
1665
- 'aggregateRating'?: NodeRelation<AggregateRating>;
1821
+ episodeNumber?: number | string;
1666
1822
  /**
1667
- * A single review of the app.
1823
+ * The season that this episode is part of.
1668
1824
  */
1669
- 'review'?: NodeRelation<Review>;
1825
+ partOfSeason?: NodeRelation<any>;
1670
1826
  /**
1671
- * The type of app (for example, BusinessApplication or GameApplication). The value must be a supported app type.
1827
+ * The podcast series that this episode is part of.
1672
1828
  */
1673
- 'applicationCategory'?: ApplicationCategory;
1829
+ partOfSeries?: NodeRelation<any>;
1674
1830
  /**
1675
- * The operating system(s) required to use the app (for example, Windows 7, OSX 10.6, Android 1.6)
1831
+ * The creator/host of the episode.
1676
1832
  */
1677
- 'operatingSystem'?: string;
1833
+ author?: NodeRelations<Person | Organization | string>;
1678
1834
  /**
1679
- * A description of the app.
1835
+ * The date the episode was published.
1680
1836
  */
1681
- 'description'?: string;
1837
+ datePublished?: ResolvableDate;
1682
1838
  /**
1683
- * URL to download the app.
1839
+ * The date the episode was uploaded.
1684
1840
  */
1685
- 'downloadUrl'?: string;
1841
+ uploadDate?: ResolvableDate;
1686
1842
  /**
1687
- * The version of the app.
1843
+ * The duration of the episode in ISO 8601 format (e.g., PT45M).
1688
1844
  */
1689
- 'softwareVersion'?: string;
1845
+ duration?: string;
1690
1846
  /**
1691
- * A list of features offered by the app.
1847
+ * The audio file URL or MediaObject for the episode.
1692
1848
  */
1693
- 'featureList'?: string[];
1694
- }
1849
+ audio?: NodeRelation<any | string>;
1850
+ /**
1851
+ * An image that represents the episode.
1852
+ */
1853
+ image?: NodeRelations<string | ImageObject>;
1854
+ /**
1855
+ * A thumbnail image for the episode.
1856
+ */
1857
+ thumbnailUrl?: string;
1858
+ /**
1859
+ * The URL of the episode.
1860
+ */
1861
+ url?: string;
1862
+ /**
1863
+ * A URL to a transcript of the episode.
1864
+ */
1865
+ transcript?: string;
1866
+ /**
1867
+ * Annotation for the average review score assigned to the episode.
1868
+ */
1869
+ aggregateRating?: NodeRelation<AggregateRating>;
1870
+ /**
1871
+ * A nested Review of the episode.
1872
+ */
1873
+ review?: NodeRelations<Review>;
1874
+ /**
1875
+ * The language code for the episode content; e.g., en-GB.
1876
+ */
1877
+ inLanguage?: string;
1878
+ /**
1879
+ * Keywords or tags used to describe the episode.
1880
+ */
1881
+ keywords?: Arrayable<string>;
1882
+ }
1883
+ interface PodcastEpisode extends PodcastEpisodeSimple {
1884
+ }
1885
+ /**
1886
+ * Describes an episode of a podcast.
1887
+ */
1888
+ declare const podcastEpisodeResolver: SchemaOrgNodeDefinition<PodcastEpisode>;
1889
+
1890
+ interface PodcastSeasonSimple extends Thing {
1891
+ /**
1892
+ * The name of the podcast season.
1893
+ */
1894
+ name?: string;
1895
+ /**
1896
+ * A description of the podcast season.
1897
+ */
1898
+ description?: string;
1899
+ /**
1900
+ * The season number.
1901
+ */
1902
+ seasonNumber?: number;
1903
+ /**
1904
+ * The number of episodes in the season.
1905
+ */
1906
+ numberOfEpisodes?: number;
1907
+ /**
1908
+ * The podcast series that this season is part of.
1909
+ */
1910
+ partOfSeries?: NodeRelation<any>;
1911
+ /**
1912
+ * The episodes that are part of this season.
1913
+ */
1914
+ episode?: NodeRelations<any>;
1915
+ /**
1916
+ * The date the season was published.
1917
+ */
1918
+ datePublished?: ResolvableDate;
1919
+ /**
1920
+ * The start date of the season.
1921
+ */
1922
+ startDate?: ResolvableDate;
1923
+ /**
1924
+ * The end date of the season.
1925
+ */
1926
+ endDate?: ResolvableDate;
1927
+ /**
1928
+ * An image that represents the season.
1929
+ */
1930
+ image?: NodeRelations<string | ImageObject>;
1931
+ /**
1932
+ * The URL of the season.
1933
+ */
1934
+ url?: string;
1935
+ /**
1936
+ * The actors in the podcast season.
1937
+ */
1938
+ actor?: NodeRelations<Person | string>;
1939
+ /**
1940
+ * The directors of the podcast season.
1941
+ */
1942
+ director?: NodeRelations<Person | string>;
1943
+ /**
1944
+ * The production company or studio responsible for the podcast season.
1945
+ */
1946
+ productionCompany?: NodeRelation<Organization | string>;
1947
+ /**
1948
+ * Annotation for the average review score assigned to the podcast season.
1949
+ */
1950
+ aggregateRating?: NodeRelation<AggregateRating>;
1951
+ }
1952
+ interface PodcastSeason extends PodcastSeasonSimple {
1953
+ }
1954
+ /**
1955
+ * Describes a season of a podcast series.
1956
+ */
1957
+ declare const podcastSeasonResolver: SchemaOrgNodeDefinition<PodcastSeason>;
1958
+
1959
+ interface PodcastSeriesSimple extends Thing {
1960
+ /**
1961
+ * The name of the podcast.
1962
+ */
1963
+ name: string;
1964
+ /**
1965
+ * A description of the podcast.
1966
+ */
1967
+ description?: string;
1968
+ /**
1969
+ * An image that represents the podcast.
1970
+ */
1971
+ image?: NodeRelations<string | ImageObject>;
1972
+ /**
1973
+ * The URL of the podcast.
1974
+ */
1975
+ url?: string;
1976
+ /**
1977
+ * The author/creator of the podcast.
1978
+ */
1979
+ author?: NodeRelations<Person | Organization | string>;
1980
+ /**
1981
+ * The URL of the podcast RSS feed.
1982
+ */
1983
+ webFeed?: string;
1984
+ /**
1985
+ * The episodes that are part of this podcast series.
1986
+ */
1987
+ episode?: NodeRelations<any>;
1988
+ /**
1989
+ * The seasons that are part of this podcast series.
1990
+ */
1991
+ containsSeason?: NodeRelations<any>;
1992
+ /**
1993
+ * The number of episodes in the podcast series.
1994
+ */
1995
+ numberOfEpisodes?: number;
1996
+ /**
1997
+ * The number of seasons in the podcast series.
1998
+ */
1999
+ numberOfSeasons?: number;
2000
+ /**
2001
+ * The genre of the podcast.
2002
+ */
2003
+ genre?: string | string[];
2004
+ /**
2005
+ * The date the podcast was published.
2006
+ */
2007
+ datePublished?: ResolvableDate;
2008
+ /**
2009
+ * The start date of the podcast.
2010
+ */
2011
+ startDate?: ResolvableDate;
2012
+ /**
2013
+ * The end date of the podcast (if no longer active).
2014
+ */
2015
+ endDate?: ResolvableDate;
2016
+ /**
2017
+ * Annotation for the average review score assigned to the podcast.
2018
+ */
2019
+ aggregateRating?: NodeRelation<AggregateRating>;
2020
+ /**
2021
+ * The language code for the podcast content; e.g., en-GB.
2022
+ */
2023
+ inLanguage?: string;
2024
+ /**
2025
+ * Keywords or tags used to describe the podcast.
2026
+ */
2027
+ keywords?: Arrayable<string>;
2028
+ }
2029
+ interface PodcastSeries extends PodcastSeriesSimple {
2030
+ }
2031
+ /**
2032
+ * Describes a podcast series.
2033
+ */
2034
+ declare const podcastSeriesResolver: SchemaOrgNodeDefinition<PodcastSeries>;
2035
+
2036
+ /**
2037
+ * Any offered product or service.
2038
+ * For example: a pair of shoes; a concert ticket; the rental of a car;
2039
+ * a haircut; or an episode of a TV show streamed online.
2040
+ */
2041
+ interface ProductSimple extends Thing {
2042
+ /**
2043
+ * The name of the product.
2044
+ */
2045
+ name: string;
2046
+ /**
2047
+ * A reference-by-ID to one or more imageObject's which represent the product.
2048
+ * - Must be at least 696 pixels wide.
2049
+ * - Must be of the following formats+file extensions: .jpg, .png, .gif ,or .webp.
2050
+ */
2051
+ image: NodeRelations<ImageObject | string>;
2052
+ /**
2053
+ * An array of references-by-ID to one or more Offer or aggregateOffer pieces.
2054
+ */
2055
+ offers?: NodeRelations<Offer | number>;
2056
+ /**
2057
+ * A reference to an Organization piece, representing brand associated with the Product.
2058
+ */
2059
+ brand?: NodeRelation<Organization>;
2060
+ /**
2061
+ * A reference to an Organization piece which represents the seller/merchant.
2062
+ */
2063
+ seller?: NodeRelation<Organization>;
2064
+ /**
2065
+ * A text description of the product.
2066
+ */
2067
+ description?: string;
2068
+ /**
2069
+ * An array of references-by-id to one or more Review pieces.
2070
+ */
2071
+ review?: NodeRelations<Review>;
2072
+ /**
2073
+ * A merchant-specific identifier for the Product.
2074
+ */
2075
+ sku?: string;
2076
+ /**
2077
+ * The Global Trade Item Number (GTIN) of the product.
2078
+ */
2079
+ gtin?: string;
2080
+ /**
2081
+ * The Manufacturer Part Number (MPN) of the product.
2082
+ */
2083
+ mpn?: string;
2084
+ /**
2085
+ * The condition of the product (e.g., New, Used, Refurbished).
2086
+ */
2087
+ itemCondition?: string;
2088
+ /**
2089
+ * An AggregateRating object.
2090
+ */
2091
+ aggregateRating?: NodeRelation<AggregateRating>;
2092
+ /**
2093
+ * An AggregateOffer object.
2094
+ */
2095
+ aggregateOffer?: NodeRelation<AggregateOffer>;
2096
+ /**
2097
+ * A reference to an Organization piece, representing the brand which produces the Product.
2098
+ */
2099
+ manufacturer?: NodeRelation<Organization>;
2100
+ }
2101
+ interface Product extends ProductSimple {
2102
+ }
2103
+ declare const ProductId = "#product";
2104
+ declare const productResolver: SchemaOrgNodeDefinition<Product>;
2105
+
2106
+ /**
2107
+ * An answer offered to a question; perhaps correct, perhaps opinionated or wrong.
2108
+ */
2109
+ interface AnswerSimple extends Thing {
2110
+ text: string;
2111
+ }
2112
+ interface Answer extends AnswerSimple {
2113
+ }
2114
+
2115
+ /**
2116
+ * A specific question - e.g. from a user seeking answers online, or collected in a Frequently Asked Questions (FAQ) document.
2117
+ */
2118
+ interface QuestionSimple extends Thing {
2119
+ /**
2120
+ * The text content of the question.
2121
+ */
2122
+ name?: string;
2123
+ /**
2124
+ * An answer object, with a text property which contains the answer to the question.
2125
+ */
2126
+ acceptedAnswer?: NodeRelation<Answer | string>;
2127
+ /**
2128
+ * The language code for the question; e.g., en-GB.
2129
+ */
2130
+ inLanguage?: string;
2131
+ /**
2132
+ * The number of answers provided for this question.
2133
+ */
2134
+ answerCount?: number;
2135
+ /**
2136
+ * The date and time the question was created.
2137
+ */
2138
+ dateCreated?: ResolvableDate;
2139
+ /**
2140
+ * Alias for `name`
2141
+ */
2142
+ question?: string;
2143
+ /**
2144
+ * Alias for `acceptedAnswer`
2145
+ */
2146
+ answer?: string;
2147
+ }
2148
+ interface Question extends QuestionSimple {
2149
+ }
2150
+ /**
2151
+ * Describes a Question. Most commonly used in FAQPage or QAPage content.
2152
+ */
2153
+ declare const questionResolver: SchemaOrgNodeDefinition<Question>;
2154
+
2155
+ interface RecipeSimple extends Thing {
2156
+ /**
2157
+ * A string describing the recipe.
2158
+ */
2159
+ name?: string;
2160
+ /**
2161
+ * An image representing the completed recipe, referenced by ID.
2162
+ */
2163
+ image?: NodeRelation<ImageObject | string>;
2164
+ /**
2165
+ * An array of strings representing each ingredient and quantity (e.g., "3 apples").
2166
+ */
2167
+ recipeIngredient: string[];
2168
+ /**
2169
+ * An array of HowToStep objects.
2170
+ */
2171
+ recipeInstructions: NodeRelations<HowToStep | string>;
2172
+ /**
2173
+ * A string describing the recipe.
2174
+ */
2175
+ description?: string;
2176
+ /**
2177
+ * The cooking time in ISO 8601 format.
2178
+ */
2179
+ cookTime?: string;
2180
+ /**
2181
+ * The time required to prepare the recipe.
2182
+ */
2183
+ prepTime?: string;
2184
+ /**
2185
+ * The total time required to prepare and cook the recipe in ISO 8601 format.
2186
+ */
2187
+ totalTime?: string;
2188
+ /**
2189
+ * The cooking method used to prepare the recipe.
2190
+ */
2191
+ cookingMethod?: string;
2192
+ /**
2193
+ * A NutritionInformation node, with a calories property which defines a calorie count as a string (e.g., "270 calories").
2194
+ */
2195
+ nutrition?: NutritionInformation;
2196
+ /**
2197
+ * The number of servings the recipe creates (not the number of individual items, if these are different), as a string
2198
+ * (e.g., "6", rather than 6).
2199
+ */
2200
+ recipeYield?: string;
2201
+ /**
2202
+ * An array of strings representing the tools required in the recipe.
2203
+ */
2204
+ tools?: string[];
2205
+ /**
2206
+ * An array of keywords describing the recipe.
2207
+ */
2208
+ keywords?: string[];
2209
+ /**
2210
+ * A string describing the cuisine type (e.g., "American" or "Spanish").
2211
+ */
2212
+ recipeCuisine?: string;
2213
+ /**
2214
+ * The category of the recipe.
2215
+ */
2216
+ recipeCategory?: 'Appetizer' | 'Breakfast' | 'Brunch' | 'Dessert' | 'Dinner' | 'Drink' | 'Lunch' | 'Main course' | 'Sauce' | 'Side dish' | 'Snack' | 'Starter' | (string & Record<never, never>);
2217
+ /**
2218
+ * A RestrictedDiet node, with a value (or array of values
2219
+ */
2220
+ suitableForDiet?: Partial<'DiabeticDiet' | 'GlutenFreeDiet' | 'HalalDiet' | 'HinduDiet' | 'KosherDiet' | 'LowCalorieDiet' | 'LowFatDiet' | 'LowLactoseDiet' | 'LowSaltDiet' | 'VeganDiet' | 'VegetarianDiet'>[];
2221
+ /**
2222
+ * A reference to a video representing the recipe instructions, by ID.
2223
+ */
2224
+ video?: NodeRelations<VideoObject | IdReference>;
2225
+ /**
2226
+ * The language code for the guide; e.g., en-GB.
2227
+ */
2228
+ inLanguage?: string;
2229
+ /**
2230
+ * A reference-by-ID to the author of the article.
2231
+ */
2232
+ author?: NodeRelation<Person>;
2233
+ /**
2234
+ * The date when the recipe was added, in ISO 8601 format.
2235
+ */
2236
+ datePublished?: ResolvableDate;
2237
+ }
2238
+ interface Recipe extends RecipeSimple {
2239
+ }
2240
+ interface NutritionInformation extends Thing {
2241
+ '@type': 'NutritionInformation';
2242
+ /**
2243
+ * A calorie count as a string (e.g., "270 calories").
2244
+ */
2245
+ 'calories': string;
2246
+ }
2247
+ declare const RecipeId = "#recipe";
2248
+ declare const recipeResolver: SchemaOrgNodeDefinition<Recipe>;
2249
+
2250
+ type ValidServiceSubTypes = 'Service' | 'BroadcastService' | 'CableOrSatelliteService' | 'FinancialService' | 'FoodService' | 'GovernmentService' | 'TaxiService' | 'Telecom';
2251
+ /**
2252
+ * ServiceChannel defines how a service can be accessed.
2253
+ */
2254
+ interface ServiceChannel {
2255
+ /**
2256
+ * The type should be ServiceChannel.
2257
+ */
2258
+ '@type'?: 'ServiceChannel';
2259
+ /**
2260
+ * The URL where the service is available.
2261
+ */
2262
+ 'serviceUrl'?: string;
2263
+ /**
2264
+ * The phone number to access the service.
2265
+ */
2266
+ 'servicePhone'?: string;
2267
+ /**
2268
+ * The physical location where the service is available.
2269
+ */
2270
+ 'serviceLocation'?: string;
2271
+ /**
2272
+ * The languages supported by the service.
2273
+ */
2274
+ 'availableLanguage'?: string | string[];
2275
+ }
2276
+ /**
2277
+ * A service provided by an organization, e.g. delivery service, print services, etc.
2278
+ */
2279
+ interface ServiceSimple extends Thing {
2280
+ /**
2281
+ * The type of the service. Can be 'Service' or a more specific subtype.
2282
+ */
2283
+ '@type'?: Arrayable<ValidServiceSubTypes>;
2284
+ /**
2285
+ * The name of the service.
2286
+ */
2287
+ 'name': string;
2288
+ /**
2289
+ * A description of the service.
2290
+ */
2291
+ 'description'?: string;
2292
+ /**
2293
+ * The type of service being offered, e.g. veterans' benefits, emergency relief, etc.
2294
+ */
2295
+ 'serviceType'?: string;
2296
+ /**
2297
+ * A reference to the Person or Organization that provides the service.
2298
+ */
2299
+ 'provider'?: NodeRelation<Person | Organization>;
2300
+ /**
2301
+ * The geographic area where the service is provided.
2302
+ * Can be a text description or a Place object.
2303
+ */
2304
+ 'areaServed'?: string | unknown;
2305
+ /**
2306
+ * A means of accessing the service (e.g. a phone bank, a web site, a location, etc.).
2307
+ */
2308
+ 'availableChannel'?: ServiceChannel | ServiceChannel[];
2309
+ /**
2310
+ * An intended audience, i.e. a group for whom the service was created.
2311
+ */
2312
+ 'audience'?: unknown;
2313
+ /**
2314
+ * A category for the item. Greater signs or slashes can be used to informally indicate a category hierarchy.
2315
+ */
2316
+ 'category'?: string | string[];
2317
+ /**
2318
+ * Indicates an OfferCatalog listing for this Service.
2319
+ */
2320
+ 'hasOfferCatalog'?: unknown;
2321
+ /**
2322
+ * An offer to provide this service—for example, an offer to perform a service for a price, or without charge.
2323
+ */
2324
+ 'offers'?: NodeRelations<Offer>;
2325
+ /**
2326
+ * The overall rating, based on a collection of reviews or ratings, of the service.
2327
+ */
2328
+ 'aggregateRating'?: NodeRelation<AggregateRating>;
2329
+ /**
2330
+ * A review of the service.
2331
+ */
2332
+ 'review'?: NodeRelations<Review>;
2333
+ /**
2334
+ * An image of the service.
2335
+ * - Must be at least 696 pixels wide.
2336
+ * - Must be of the following formats+file extensions: .jpg, .png, .gif, or .webp.
2337
+ */
2338
+ 'image'?: NodeRelations<ImageObject | string>;
2339
+ /**
2340
+ * A logo associated with the service.
2341
+ */
2342
+ 'logo'?: NodeRelations<ImageObject | string>;
2343
+ /**
2344
+ * URL of the service.
2345
+ */
2346
+ 'url'?: string;
2347
+ /**
2348
+ * Human-readable terms of service documentation.
2349
+ */
2350
+ 'termsOfService'?: string;
2351
+ /**
2352
+ * A slogan or motto associated with the service.
2353
+ */
2354
+ 'slogan'?: string;
2355
+ /**
2356
+ * The brand associated with the service.
2357
+ */
2358
+ 'brand'?: NodeRelation<Organization>;
2359
+ }
2360
+ interface Service extends ServiceSimple {
2361
+ }
2362
+ declare const ServiceId = "#service";
2363
+ /**
2364
+ * Describes a service provided by an organization or person.
2365
+ */
2366
+ declare const serviceResolver: SchemaOrgNodeDefinition<Service>;
2367
+
2368
+ type ApplicationCategory = 'GameApplication' | 'SocialNetworkingApplication' | 'TravelApplication' | 'ShoppingApplication' | 'SportsApplication' | 'LifestyleApplication' | 'BusinessApplication' | 'DesignApplication' | 'DeveloperApplication' | 'DriverApplication' | 'EducationalApplication' | 'HealthApplication' | 'FinanceApplication' | 'SecurityApplication' | 'BrowserApplication' | 'CommunicationApplication' | 'DesktopEnhancementApplication' | 'EntertainmentApplication' | 'MultimediaApplication' | 'HomeApplication' | 'UtilitiesApplication' | 'ReferenceApplication';
2369
+ interface SoftwareAppSimple extends Thing {
2370
+ '@type'?: Arrayable<'SoftwareApplication' | 'MobileApplication' | 'VideoGame' | 'WebApplication'>;
2371
+ /**
2372
+ * The name of the app.
2373
+ */
2374
+ 'name'?: string;
2375
+ /**
2376
+ * An offer to sell the app.
2377
+ * For developers, offers can indicate the marketplaces that carry the application.
2378
+ * For marketplaces, use offers to indicate the price of the app for a specific app instance.
2379
+ */
2380
+ 'offers': NodeRelations<Offer>;
2381
+ /**
2382
+ * The average review score of the app.
2383
+ */
2384
+ 'aggregateRating'?: NodeRelation<AggregateRating>;
2385
+ /**
2386
+ * A single review of the app.
2387
+ */
2388
+ 'review'?: NodeRelation<Review>;
2389
+ /**
2390
+ * The type of app (for example, BusinessApplication or GameApplication). The value must be a supported app type.
2391
+ */
2392
+ 'applicationCategory'?: ApplicationCategory;
2393
+ /**
2394
+ * The operating system(s) required to use the app (for example, Windows 7, OSX 10.6, Android 1.6)
2395
+ */
2396
+ 'operatingSystem'?: string;
2397
+ /**
2398
+ * A description of the app.
2399
+ */
2400
+ 'description'?: string;
2401
+ /**
2402
+ * URL to download the app.
2403
+ */
2404
+ 'downloadUrl'?: string;
2405
+ /**
2406
+ * The version of the app.
2407
+ */
2408
+ 'softwareVersion'?: string;
2409
+ /**
2410
+ * A list of features offered by the app.
2411
+ */
2412
+ 'featureList'?: string[];
2413
+ }
1695
2414
  interface SoftwareApp extends SoftwareAppSimple {
1696
2415
  }
1697
2416
  declare const softwareAppResolver: SchemaOrgNodeDefinition<SoftwareApp>;
1698
2417
 
2418
+ interface TVEpisodeSimple extends Thing {
2419
+ /**
2420
+ * The name of the episode.
2421
+ */
2422
+ name: string;
2423
+ /**
2424
+ * A description of the episode.
2425
+ */
2426
+ description?: string;
2427
+ /**
2428
+ * The episode number.
2429
+ */
2430
+ episodeNumber?: number | string;
2431
+ /**
2432
+ * The season that this episode is part of.
2433
+ */
2434
+ partOfSeason?: NodeRelation<any>;
2435
+ /**
2436
+ * The TV series that this episode is part of.
2437
+ */
2438
+ partOfSeries?: NodeRelation<any>;
2439
+ /**
2440
+ * The actors in the episode.
2441
+ */
2442
+ actor?: NodeRelations<Person | string>;
2443
+ /**
2444
+ * The directors of the episode.
2445
+ */
2446
+ director?: NodeRelations<Person | string>;
2447
+ /**
2448
+ * The date the episode was published.
2449
+ */
2450
+ datePublished?: ResolvableDate;
2451
+ /**
2452
+ * The date the episode was uploaded.
2453
+ */
2454
+ uploadDate?: ResolvableDate;
2455
+ /**
2456
+ * The duration of the episode in ISO 8601 format (e.g., PT45M).
2457
+ */
2458
+ duration?: string;
2459
+ /**
2460
+ * A video object representing the episode content.
2461
+ */
2462
+ video?: NodeRelation<VideoObject | string>;
2463
+ /**
2464
+ * An image that represents the episode.
2465
+ */
2466
+ image?: NodeRelations<string | ImageObject>;
2467
+ /**
2468
+ * A thumbnail image for the episode.
2469
+ */
2470
+ thumbnailUrl?: string;
2471
+ /**
2472
+ * The URL of the episode.
2473
+ */
2474
+ url?: string;
2475
+ /**
2476
+ * Annotation for the average review score assigned to the episode.
2477
+ */
2478
+ aggregateRating?: NodeRelation<AggregateRating>;
2479
+ /**
2480
+ * A nested Review of the episode.
2481
+ */
2482
+ review?: NodeRelations<Review>;
2483
+ /**
2484
+ * Official rating of the content (e.g., "MPAA PG-13", "TV-MA").
2485
+ */
2486
+ contentRating?: string;
2487
+ /**
2488
+ * The composer of the episode's musical score.
2489
+ */
2490
+ musicBy?: NodeRelations<Person | string>;
2491
+ }
2492
+ interface TVEpisode extends TVEpisodeSimple {
2493
+ }
2494
+ /**
2495
+ * Describes an episode of a TV series.
2496
+ */
2497
+ declare const tvEpisodeResolver: SchemaOrgNodeDefinition<TVEpisode>;
2498
+
2499
+ interface TVSeasonSimple extends Thing {
2500
+ /**
2501
+ * The name of the TV season.
2502
+ */
2503
+ name?: string;
2504
+ /**
2505
+ * A description of the TV season.
2506
+ */
2507
+ description?: string;
2508
+ /**
2509
+ * The season number.
2510
+ */
2511
+ seasonNumber?: number;
2512
+ /**
2513
+ * The number of episodes in the season.
2514
+ */
2515
+ numberOfEpisodes?: number;
2516
+ /**
2517
+ * The TV series that this season is part of.
2518
+ */
2519
+ partOfSeries?: NodeRelation<any>;
2520
+ /**
2521
+ * The episodes that are part of this season.
2522
+ */
2523
+ episode?: NodeRelations<any>;
2524
+ /**
2525
+ * The date the season was published.
2526
+ */
2527
+ datePublished?: ResolvableDate;
2528
+ /**
2529
+ * The start date of the season.
2530
+ */
2531
+ startDate?: ResolvableDate;
2532
+ /**
2533
+ * The end date of the season.
2534
+ */
2535
+ endDate?: ResolvableDate;
2536
+ /**
2537
+ * An image that represents the season.
2538
+ */
2539
+ image?: NodeRelations<string | ImageObject>;
2540
+ /**
2541
+ * The URL of the season.
2542
+ */
2543
+ url?: string;
2544
+ /**
2545
+ * The actors in the TV season.
2546
+ */
2547
+ actor?: NodeRelations<Person | string>;
2548
+ /**
2549
+ * The directors of the TV season.
2550
+ */
2551
+ director?: NodeRelations<Person | string>;
2552
+ /**
2553
+ * The production company or studio responsible for the TV season.
2554
+ */
2555
+ productionCompany?: NodeRelation<Organization | string>;
2556
+ /**
2557
+ * Annotation for the average review score assigned to the TV season.
2558
+ */
2559
+ aggregateRating?: NodeRelation<AggregateRating>;
2560
+ /**
2561
+ * Official rating of the content (e.g., "MPAA PG-13", "TV-MA").
2562
+ */
2563
+ contentRating?: string;
2564
+ /**
2565
+ * A trailer or preview video for the TV season.
2566
+ */
2567
+ trailer?: NodeRelation<VideoObject | string>;
2568
+ }
2569
+ interface TVSeason extends TVSeasonSimple {
2570
+ }
2571
+ /**
2572
+ * Describes a season of a TV series.
2573
+ */
2574
+ declare const tvSeasonResolver: SchemaOrgNodeDefinition<TVSeason>;
2575
+
2576
+ interface TVSeriesSimple extends Thing {
2577
+ /**
2578
+ * The name of the TV series.
2579
+ */
2580
+ name: string;
2581
+ /**
2582
+ * A description of the TV series.
2583
+ */
2584
+ description?: string;
2585
+ /**
2586
+ * An image that represents the TV series.
2587
+ */
2588
+ image?: NodeRelations<string | ImageObject>;
2589
+ /**
2590
+ * The URL of the TV series.
2591
+ */
2592
+ url?: string;
2593
+ /**
2594
+ * The actors in the TV series.
2595
+ */
2596
+ actor?: NodeRelations<Person | string>;
2597
+ /**
2598
+ * The directors of the TV series.
2599
+ */
2600
+ director?: NodeRelations<Person | string>;
2601
+ /**
2602
+ * The creator of the TV series.
2603
+ */
2604
+ creator?: NodeRelations<Person | Organization | string>;
2605
+ /**
2606
+ * The number of seasons in the TV series.
2607
+ */
2608
+ numberOfSeasons?: number;
2609
+ /**
2610
+ * The number of episodes in the TV series.
2611
+ */
2612
+ numberOfEpisodes?: number;
2613
+ /**
2614
+ * The seasons that are part of this TV series.
2615
+ */
2616
+ containsSeason?: NodeRelations<any>;
2617
+ /**
2618
+ * The episodes that are part of this TV series.
2619
+ */
2620
+ episode?: NodeRelations<any>;
2621
+ /**
2622
+ * The genre of the TV series.
2623
+ */
2624
+ genre?: string | string[];
2625
+ /**
2626
+ * The date the TV series was published.
2627
+ */
2628
+ datePublished?: ResolvableDate;
2629
+ /**
2630
+ * The start date of the TV series.
2631
+ */
2632
+ startDate?: ResolvableDate;
2633
+ /**
2634
+ * The end date of the TV series.
2635
+ */
2636
+ endDate?: ResolvableDate;
2637
+ /**
2638
+ * The production company or studio responsible for the TV series.
2639
+ */
2640
+ productionCompany?: NodeRelation<Organization | string>;
2641
+ /**
2642
+ * Annotation for the average review score assigned to the TV series.
2643
+ */
2644
+ aggregateRating?: NodeRelation<AggregateRating>;
2645
+ /**
2646
+ * The country of origin for the TV series.
2647
+ */
2648
+ countryOfOrigin?: string;
2649
+ /**
2650
+ * A trailer or preview video for the TV series.
2651
+ */
2652
+ trailer?: NodeRelation<VideoObject | string>;
2653
+ /**
2654
+ * Official rating of the content (e.g., "MPAA PG-13", "TV-MA").
2655
+ */
2656
+ contentRating?: string;
2657
+ }
2658
+ interface TVSeries extends TVSeriesSimple {
2659
+ }
2660
+ /**
2661
+ * Describes a TV series.
2662
+ */
2663
+ declare const tvSeriesResolver: SchemaOrgNodeDefinition<TVSeries>;
2664
+
1699
2665
  type Arrayable<T> = T | Array<T>;
1700
2666
  type NodeRelation<T> = T | IdReference;
1701
2667
  type NodeRelations<T> = Arrayable<NodeRelation<T>>;
@@ -1800,5 +2766,5 @@ interface SchemaOrgGraph {
1800
2766
  }
1801
2767
  declare function createSchemaOrgGraph(): SchemaOrgGraph;
1802
2768
 
1803
- export { virtualLocationResolver as $, commentResolver as E, courseResolver as H, PrimaryEventId as L, PrimaryArticleId as P, eventResolver as Q, placeResolver as Y, foodEstablishmentResolver as a2, HowToId as a5, howToResolver as a6, howToStepResolver as a9, organizationResolver as aC, personResolver as aF, addressResolver as aK, ProductId as aN, productResolver as aO, questionResolver as aR, ratingResolver as aU, RecipeId as aY, recipeResolver as aZ, howToStepDirectionResolver as ab, imageResolver as ae, itemListResolver as ah, jobPostingResolver as ak, listItemResolver as an, localBusinessResolver as aq, movieResolver as at, offerResolver as aw, openingHoursResolver as az, reviewResolver as b0, softwareAppResolver as b3, videoResolver as b6, PrimaryWebPageId as b9, webPageResolver as ba, readActionResolver as bd, PrimaryWebSiteId as bg, webSiteResolver as bh, searchActionResolver as bk, createSchemaOrgGraph as c, aggregateOfferResolver as j, aggregateRatingResolver as m, articleResolver as p, bookEditionResolver as t, PrimaryBookId as u, bookResolver as v, PrimaryBreadcrumbId as y, breadcrumbResolver as z };
1804
- export type { Arrayable as A, BookSimple as B, CommentSimple as C, Comment$1 as D, CourseSimple as F, Course as G, Id as I, EventSimple as J, Event as K, MetaInput as M, NodeRelation as N, OptionalSchemaOrgPrefix as O, ResolvedMeta as R, SchemaOrgNodeDefinition as S, Thing as T, UserConfig as U, PlaceSimple as V, WithResolver as W, Place as X, VirtualLocationSimple as Z, VirtualLocation as _, SchemaOrgGraph as a, Review as a$, FoodEstablishmentSimple as a0, FoodEstablishment as a1, HowToSimple as a3, HowTo as a4, HowToStepSimple as a7, HowToStep as a8, OrganizationSimple as aA, Organization as aB, PersonSimple as aD, Person as aE, PostalAddressSimple as aG, PostalAddressStrict as aH, PostalAddressName as aI, PostalAddress as aJ, ProductSimple as aL, Product as aM, QuestionSimple as aP, Question as aQ, RatingSimple as aS, Rating as aT, RecipeSimple as aV, Recipe as aW, NutritionInformation as aX, ReviewSimple as a_, HowToDirection as aa, ImageSimple as ac, ImageObject as ad, ItemListSimple as af, ItemList as ag, JobPostingSimple as ai, JobPosting as aj, ListItemSimple as al, ListItem as am, LocalBusinessSimple as ao, LocalBusiness as ap, MovieSimple as ar, Movie as as, OfferSimple as au, Offer as av, OpeningHoursSimple as ax, OpeningHoursSpecification as ay, Identity as b, SoftwareAppSimple as b1, SoftwareApp as b2, VideoSimple as b4, VideoObject as b5, WebPageSimple as b7, WebPage as b8, ReadActionInput as bb, ReadAction as bc, WebSiteSimple as be, WebSite as bf, SearchActionInput as bi, SearchAction as bj, IdReference as d, NodeRelations as e, ResolvableDate as f, SchemaOrgNode as g, AggregateOfferSimple as h, AggregateOffer as i, AggregateRatingSimple as k, AggregateRating as l, ArticleSimple as n, Article as o, Book as q, BookEditionSimple as r, BookEdition as s, BreadcrumbSimple as w, BreadcrumbList as x };
2769
+ export { ProductId as aB, RecipeId as aK, ServiceId as aU, PrimaryArticleId as at, PrimaryBookId as au, PrimaryBreadcrumbId as av, PrimaryDatasetId as aw, PrimaryEventId as ax, PrimaryWebPageId as ay, PrimaryWebSiteId as az, musicPlaylistResolver as bA, musicRecordingResolver as bB, offerResolver as bC, openingHoursResolver as bD, organizationResolver as bE, personResolver as bF, placeResolver as bG, podcastEpisodeResolver as bH, podcastSeasonResolver as bI, podcastSeriesResolver as bJ, productResolver as bK, questionResolver as bL, ratingResolver as bM, readActionResolver as bN, recipeResolver as bO, reviewResolver as bP, searchActionResolver as bQ, serviceResolver as bR, softwareAppResolver as bS, tvEpisodeResolver as bT, tvSeasonResolver as bU, tvSeriesResolver as bV, videoResolver as bW, virtualLocationResolver as bX, webPageResolver as bY, webSiteResolver as bZ, addressResolver as bc, aggregateOfferResolver as bd, aggregateRatingResolver as be, articleResolver as bf, bookEditionResolver as bg, bookResolver as bh, breadcrumbResolver as bi, commentResolver as bj, courseResolver as bk, createSchemaOrgGraph as bl, datasetResolver as bm, eventResolver as bn, foodEstablishmentResolver as bo, howToResolver as bp, howToStepDirectionResolver as bq, howToStepResolver as br, imageResolver as bs, itemListResolver as bt, jobPostingResolver as bu, listItemResolver as bv, localBusinessResolver as bw, movieResolver as bx, musicAlbumResolver as by, musicGroupResolver as bz, HowToId as v };
2770
+ export type { MusicGroup as $, Arrayable as A, Book as B, Comment$1 as C, DataCatalog as D, Event as E, FoodEstablishment as F, Identity as G, HowTo as H, Id as I, ImageObject as J, ImageSimple as K, ItemList as L, MetaInput as M, ItemListSimple as N, JobPosting as O, JobPostingSimple as P, ListItem as Q, ResolvedMeta as R, SchemaOrgNodeDefinition as S, Thing as T, ListItemSimple as U, LocalBusiness as V, LocalBusinessSimple as W, Movie as X, MovieSimple as Y, MusicAlbum as Z, MusicAlbumSimple as _, SchemaOrgGraph as a, TVSeasonSimple as a$, MusicGroupSimple as a0, MusicPlaylist as a1, MusicPlaylistSimple as a2, MusicRecording as a3, MusicRecordingSimple as a4, NodeRelation as a5, NodeRelations as a6, NutritionInformation as a7, Offer as a8, OfferSimple as a9, Product as aA, ProductSimple as aC, Question as aD, QuestionSimple as aE, Rating as aF, RatingSimple as aG, ReadAction as aH, ReadActionInput as aI, Recipe as aJ, RecipeSimple as aL, ResolvableDate as aM, Review as aN, ReviewSimple as aO, SchemaOrgNode as aP, SearchAction as aQ, SearchActionInput as aR, Service as aS, ServiceChannel as aT, ServiceSimple as aV, SoftwareApp as aW, SoftwareAppSimple as aX, TVEpisode as aY, TVEpisodeSimple as aZ, TVSeason as a_, OpeningHoursSimple as aa, OpeningHoursSpecification as ab, OptionalSchemaOrgPrefix as ac, Organization as ad, OrganizationSimple as ae, Person as af, PersonSimple as ag, Place as ah, PlaceSimple as ai, PodcastEpisode as aj, PodcastEpisodeSimple as ak, PodcastSeason as al, PodcastSeasonSimple as am, PodcastSeries as an, PodcastSeriesSimple as ao, PostalAddress as ap, PostalAddressName as aq, PostalAddressSimple as ar, PostalAddressStrict as as, AggregateOffer as b, TVSeries as b0, TVSeriesSimple as b1, UserConfig as b2, VideoObject as b3, VideoSimple as b4, VirtualLocation as b5, VirtualLocationSimple as b6, WebPage as b7, WebPageSimple as b8, WebSite as b9, WebSiteSimple as ba, WithResolver as bb, AggregateOfferSimple as c, AggregateRating as d, AggregateRatingSimple as e, Article as f, ArticleSimple as g, BookEdition as h, BookEditionSimple as i, BookSimple as j, BreadcrumbList as k, BreadcrumbSimple as l, CommentSimple as m, Course as n, CourseSimple as o, DataDownload as p, Dataset as q, DatasetSimple as r, EventSimple as s, FoodEstablishmentSimple as t, HowToDirection as u, HowToSimple as w, HowToStep as x, HowToStepSimple as y, IdReference as z };