import { AdIframePage, AdIframePageProps, ArchiveByDayPage, ArchiveByDayPageProps, ArchiveByYearPage, ArchiveByYearPageProps, ArticlePage, ArticlePageProps, AstroHomePage, AstroHomePageProps, AstroPage, AstroPageProps, ContactPage, ContactPageProps, DirectPage, DirectPageProps, ElectionsAIArticlesPage, ElectionsAIArticlesPageProps, ElectionsHomePage, ElectionsHomePageProps, ElectionsPage, ElectionsPageProps, ErrorPage, ErrorPageProps, GameAppPage, GameAppPageProps, GameHomePage, GameHomePageProps, GamePage, GamePageProps, HomePage, HomePageProps, JobDetailsPage, JobDetailsPageProps, JobsPage, JobsPageProps, JournalistPage, JournalistPageProps, La21ePage, La21ePageProps, LegalNoticeDepartmentPage, LegalNoticeDepartmentPageProps, LegalNoticeHomePage, LegalNoticeHomePageProps, LegalNoticePage, LegalNoticePageProps, LegalPage, LegalPageProps, LivePage, LivePageProps, MobileAppsPage, MobileAppsPageProps, MostCommentedPage, MostCommentedPageProps, MostReadPage, MostReadPageProps, MostSharedPage, MostSharedPageProps, MoviesPage, MoviesPageProps, NewsPage, NewsPageProps, PartnerPage, QuizPage, QuizPageProps, RewindPage, RewindPageProps, SearchPage, SearchPageProps, ServicePage, ServicePageProps, ShoppingGuidePage, ShoppingGuidePageProps, SitemapPage, SitemapPageProps, SlideshowPage, SlideshowPageProps, SportPage, SportPageProps, StaticPage, StaticPageProps, TagPage, TagPageProps, TrafficPage, TrafficPageProps, TvHomePage, TvHomePageProps, TvLivePage, TvLivePageProps, TvMostRecentPage, TvMostRecentPageProps, TvMostViewedPage, TvMostViewedPageProps, TvShowPage, TvShowPageProps, TvShowsPage, TvShowsPageProps, UtiqPage, UtiqPageProps, WeatherPage, WeatherPageProps, WhyCreateAccountPage, WhyCreateAccountPageProps } from '../pages'; import { TvVideoPage, TvVideoPageProps } from '../pages/TvVideoPage'; import { PageTemplateProps } from '../templates'; import { ComponentNameAdIframe, ComponentNameArchives, ComponentNameArticle, ComponentNameAstro, ComponentNameCommon, ComponentNameContact, ComponentNameContent, ComponentNameDirect, ComponentNameElections, ComponentNameElectionsAiArticles, ComponentNameError, ComponentNameGame, ComponentNameHome, ComponentNameJobs, ComponentNameJournalist, ComponentNameLa21e, ComponentNameLegal, ComponentNameLegalNotice, ComponentNameLive, ComponentNameMobileApps, ComponentNameMostCommented, ComponentNameMostRead, ComponentNameMostShared, ComponentNameMovies, ComponentNameNews, ComponentNameQuiz, ComponentNameRewind, ComponentNameRubric, ComponentNameSearch, ComponentNameService, ComponentNameShoppingGuide, ComponentNameSitemap, ComponentNameSlideshow, ComponentNameSport, ComponentNameStatic, ComponentNameStory, ComponentNameTag, ComponentNameTraffic, ComponentNameTvHome, ComponentNameTvLive, ComponentNameTvMostRecent, ComponentNameTvMostViewed, ComponentNameTvShow, ComponentNameTvShows, ComponentNameTvVideo, ComponentNameUtiq, ComponentNameWeather, ComponentNameWhyCreateAccount } from './ComponentConfig'; export interface PageComponentConfig { name: TComponentName; propName: TPropName; required: boolean; } export interface PageConfig { name: TPageName; component: TComponentPage; expiration: number; components: PageComponentConfig[]; } export type PageTemplateComponentConfigs = PageComponentConfig>[]; export type AdIframePageConfig = PageConfig<'adIframe', typeof AdIframePage, ComponentNameAdIframe, keyof AdIframePageProps>; export type ArchiveByDayPageConfig = PageConfig<'archiveByDay', typeof ArchiveByDayPage, ComponentNameCommon | ComponentNameArchives | ComponentNameContent, keyof ArchiveByDayPageProps | 'meta' | 'jsonLdBreadcrumb' | 'defaultPreload'>; export type ArchiveByYearPageConfig = PageConfig<'archiveByYear', typeof ArchiveByYearPage, ComponentNameCommon | ComponentNameArchives, keyof ArchiveByYearPageProps | 'meta' | 'jsonLdBreadcrumb' | 'defaultPreload' | 'preload'>; export type ArticlePageConfig = PageConfig<'article', typeof ArticlePage, ComponentNameCommon | ComponentNameRubric | ComponentNameArticle | ComponentNameContent, keyof ArticlePageProps | 'meta' | 'jsonLdBreadcrumb' | 'jsonLdClaimReview' | 'jsonLdNewsArticle' | 'defaultPreload' | 'preload'>; export type ContactPageConfig = PageConfig<'contact', typeof ContactPage, ComponentNameCommon | ComponentNameRubric | ComponentNameContact | ComponentNameContent, keyof ContactPageProps | 'meta' | 'jsonLdBreadcrumb' | 'defaultPreload' | 'preload'>; export type DirectPageConfig = PageConfig<'direct', typeof DirectPage, ComponentNameCommon | ComponentNameDirect, keyof DirectPageProps | 'meta' | 'jsonLdBreadcrumb' | 'defaultPreload' | 'preload' | 'lastArticlesBlock'>; export type ElectionsAIArticlesPageConfig = PageConfig<'electionsAiArticles', typeof ElectionsAIArticlesPage, ComponentNameCommon | ComponentNameElectionsAiArticles, keyof ElectionsAIArticlesPageProps | 'meta' | 'jsonLdBreadcrumb' | 'defaultPreload'>; export type ElectionsEmbedPageConfig = PageConfig<'electionsEmbed', typeof ElectionsHomePage, ComponentNameCommon | ComponentNameElections, keyof ElectionsHomePageProps | 'meta' | 'defaultPreload'>; export type ElectionsHomePageConfig = PageConfig<'electionsHome', typeof ElectionsHomePage, ComponentNameCommon | ComponentNameElections, keyof ElectionsHomePageProps | 'meta' | 'jsonLdBreadcrumb' | 'jsonLdFaq' | 'defaultPreload'>; export type ElectionsPageConfig = PageConfig<'elections', typeof ElectionsPage, ComponentNameCommon | ComponentNameElections, keyof ElectionsPageProps | 'meta' | 'jsonLdBreadcrumb' | 'jsonLdFaq' | 'defaultPreload'>; export type ErrorPageConfig = PageConfig<'error', typeof ErrorPage, ComponentNameCommon | ComponentNameError, keyof ErrorPageProps | 'meta' | 'defaultPreload'>; export type GameAppPageConfig = PageConfig<'gameApp', typeof GameAppPage, ComponentNameCommon | ComponentNameGame, keyof GameAppPageProps | 'meta' | 'defaultPreload'>; export type GameHomePageConfig = PageConfig<'gameHome', typeof GameHomePage, ComponentNameCommon | ComponentNameGame, keyof GameHomePageProps | 'meta' | 'jsonLdBreadcrumb' | 'defaultPreload'>; export type GamePageConfig = PageConfig<'game', typeof GamePage, ComponentNameCommon | ComponentNameRubric | ComponentNameGame, keyof GamePageProps | 'meta' | 'jsonLdBreadcrumb' | 'jsonLdFaq' | 'defaultPreload'>; export type HomePageConfig = PageConfig<'home', typeof HomePage, ComponentNameCommon | ComponentNameRubric | ComponentNameHome, keyof HomePageProps | 'meta' | 'defaultPreload'>; export type AstroHomePageConfig = PageConfig<'astroHome', typeof AstroHomePage, ComponentNameCommon | ComponentNameRubric | ComponentNameAstro, keyof AstroHomePageProps | 'meta' | 'jsonLdBreadcrumb' | 'defaultPreload'>; export type AstroPageConfig = PageConfig<'astro', typeof AstroPage, ComponentNameCommon | ComponentNameRubric | ComponentNameAstro, keyof AstroPageProps | 'meta' | 'jsonLdBreadcrumb' | 'defaultPreload'>; export type JournalistPageConfig = PageConfig<'journalist', typeof JournalistPage, ComponentNameCommon | ComponentNameRubric | ComponentNameJournalist, keyof JournalistPageProps | 'meta' | 'jsonLdBreadcrumb' | 'defaultPreload'>; export type JobDetailsPageConfig = PageConfig<'jobDetails', typeof JobDetailsPage, ComponentNameCommon | ComponentNameJobs, keyof JobDetailsPageProps | 'meta' | 'jsonLdBreadcrumb' | 'defaultPreload' | 'preload'>; export type JobsPageConfig = PageConfig<'jobs', typeof JobsPage, ComponentNameCommon | ComponentNameJobs, keyof JobsPageProps | 'meta' | 'jsonLdBreadcrumb' | 'defaultPreload' | 'preload'>; export type La21ePageConfig = PageConfig<'la21e', typeof La21ePage, ComponentNameCommon | ComponentNameRubric | ComponentNameLa21e, keyof La21ePageProps | 'meta' | 'jsonLdBreadcrumb' | 'defaultPreload'>; export type LegalPageConfig = PageConfig<'legal', typeof LegalPage, ComponentNameCommon | ComponentNameLegal, keyof LegalPageProps | 'meta' | 'jsonLdBreadcrumb' | 'defaultPreload' | 'preload'>; export type LegalNoticeDepartmentPageConfig = PageConfig<'legalNoticeDepartment', typeof LegalNoticeDepartmentPage, ComponentNameCommon | ComponentNameLegalNotice, keyof LegalNoticeDepartmentPageProps | 'meta' | 'jsonLdBreadcrumb' | 'defaultPreload' | 'preload'>; export type LegalNoticeHomePageConfig = PageConfig<'legalNoticeHome', typeof LegalNoticeHomePage, ComponentNameCommon | ComponentNameLegalNotice, keyof LegalNoticeHomePageProps | 'meta' | 'jsonLdBreadcrumb' | 'defaultPreload' | 'preload'>; export type LegalNoticeDetailPageConfig = PageConfig<'legalNotice', typeof LegalNoticePage, ComponentNameCommon | ComponentNameLegalNotice, keyof LegalNoticePageProps | 'meta' | 'jsonLdBreadcrumb' | 'defaultPreload' | 'preload'>; export type LivePageConfig = PageConfig<'live', typeof LivePage, ComponentNameCommon | ComponentNameRubric | ComponentNameLive | ComponentNameContent, keyof LivePageProps | 'meta' | 'jsonLdBreadcrumb' | 'jsonLdLiveBlogPosting' | 'defaultPreload' | 'preload'>; export type MobileAppsPageConfig = PageConfig<'mobileApps', typeof MobileAppsPage, ComponentNameCommon | ComponentNameRubric | ComponentNameMobileApps, keyof MobileAppsPageProps | 'meta' | 'jsonLdBreadcrumb' | 'defaultPreload'>; export type MostCommentedPageConfig = PageConfig<'mostCommented', typeof MostCommentedPage, ComponentNameCommon | ComponentNameMostCommented, keyof MostCommentedPageProps | 'meta' | 'defaultPreload'>; export type MostReadPageConfig = PageConfig<'mostRead', typeof MostReadPage, ComponentNameCommon | ComponentNameMostRead, keyof MostReadPageProps | 'meta' | 'defaultPreload'>; export type MostSharedPageConfig = PageConfig<'mostShared', typeof MostSharedPage, ComponentNameCommon | ComponentNameMostShared, keyof MostSharedPageProps | 'meta' | 'defaultPreload'>; export type MoviesPageConfig = PageConfig<'movies', typeof MoviesPage, ComponentNameCommon | ComponentNameMovies, keyof MoviesPageProps | 'header' | 'headerMini' | 'footer' | 'menu' | 'meta' | 'defaultPreload'>; export type NewsPageConfig = PageConfig<'news', typeof NewsPage, ComponentNameCommon | ComponentNameNews, keyof NewsPageProps | 'meta' | 'jsonLdBreadcrumb' | 'header' | 'headerMini' | 'footer' | 'menu'>; export type PartnerPageConfig = PageConfig<'partner', typeof PartnerPage, ComponentNameCommon, keyof Pick>; export type QuizPageConfig = PageConfig<'quiz', typeof QuizPage, ComponentNameCommon | ComponentNameTag | ComponentNameQuiz, keyof QuizPageProps | 'meta' | 'jsonLdBreadcrumb' | 'defaultPreload' | 'preload'>; export type RewindPageConfig = PageConfig<'rewind', typeof RewindPage, ComponentNameCommon | ComponentNameRewind, keyof RewindPageProps | 'meta' | 'jsonLdBreadcrumb' | 'defaultPreload'>; export type SearchPageConfig = PageConfig<'search', typeof SearchPage, ComponentNameCommon | ComponentNameRubric | ComponentNameSearch, keyof SearchPageProps | 'meta' | 'jsonLdBreadcrumb' | 'defaultPreload'>; export type ServicePageConfig = PageConfig<'service', typeof ServicePage, ComponentNameCommon | ComponentNameRubric | ComponentNameService, keyof ServicePageProps | 'meta' | 'jsonLdBreadcrumb' | 'defaultPreload'>; export type ShoppingGuidePageConfig = PageConfig<'shoppingGuide', typeof ShoppingGuidePage, ComponentNameCommon | ComponentNameRubric | ComponentNameShoppingGuide, keyof ShoppingGuidePageProps | 'meta' | 'jsonLdBreadcrumb' | 'defaultPreload'>; export type SitemapPageConfig = PageConfig<'sitemap', typeof SitemapPage, ComponentNameCommon | ComponentNameSitemap, keyof SitemapPageProps | 'meta' | 'jsonLdBreadcrumb' | 'defaultPreload'>; export type SlideshowPageConfig = PageConfig<'story', typeof SlideshowPage, ComponentNameCommon | ComponentNameRubric | ComponentNameStory | ComponentNameContent | ComponentNameSlideshow, keyof SlideshowPageProps | 'meta' | 'jsonLdBreadcrumb' | 'jsonLdClaimReview' | 'jsonLdNewsArticle' | 'defaultPreload' | 'preload'>; export type SportPageConfig = PageConfig<'sport', typeof SportPage, ComponentNameCommon | ComponentNameRubric | ComponentNameSport, keyof SportPageProps | 'meta' | 'jsonLdBreadcrumb' | 'defaultPreload'>; export type StaticPageConfig = PageConfig<'static', typeof StaticPage, ComponentNameCommon | ComponentNameStatic, keyof StaticPageProps | 'meta' | 'jsonLdBreadcrumb' | 'defaultPreload' | 'preload'>; export type TagPageConfig = PageConfig<'tag', typeof TagPage, ComponentNameCommon | ComponentNameTag, keyof TagPageProps | 'meta' | 'jsonLdBreadcrumb' | 'defaultPreload' | 'preload'>; export type TrafficPageConfig = PageConfig<'traffic', typeof TrafficPage, ComponentNameCommon | ComponentNameRubric | ComponentNameTraffic, keyof TrafficPageProps | 'meta' | 'jsonLdBreadcrumb' | 'defaultPreload'>; export type TvHomePageConfig = PageConfig<'tvHome', typeof TvHomePage, ComponentNameCommon | ComponentNameTvHome, keyof TvHomePageProps | 'meta' | 'jsonLdBreadcrumb' | 'defaultPreload'>; export type TvLivePageConfig = PageConfig<'tvLive', typeof TvLivePage, ComponentNameCommon | ComponentNameTvLive, keyof TvLivePageProps | 'meta' | 'jsonLdBreadcrumb' | 'defaultPreload'>; export type TvMostRecentPageConfig = PageConfig<'tvMostRecent', typeof TvMostRecentPage, ComponentNameCommon | ComponentNameTvMostRecent, keyof TvMostRecentPageProps | 'meta' | 'jsonLdBreadcrumb' | 'defaultPreload'>; export type TvMostViewedPageConfig = PageConfig<'tvMostViewed', typeof TvMostViewedPage, ComponentNameCommon | ComponentNameTvMostViewed, keyof TvMostViewedPageProps | 'meta' | 'jsonLdBreadcrumb' | 'defaultPreload'>; export type TvShowPageConfig = PageConfig<'tvShow', typeof TvShowPage, ComponentNameCommon | ComponentNameTvShow, keyof TvShowPageProps | 'meta' | 'jsonLdBreadcrumb' | 'defaultPreload'>; export type TvShowsPageConfig = PageConfig<'tvShows', typeof TvShowsPage, ComponentNameCommon | ComponentNameTvShows, keyof TvShowsPageProps | 'meta' | 'jsonLdBreadcrumb' | 'defaultPreload'>; export type TvVideoPageConfig = PageConfig<'tvVideo', typeof TvVideoPage, ComponentNameCommon | ComponentNameTvVideo, keyof TvVideoPageProps | 'meta' | 'jsonLdBreadcrumb' | 'jsonLdNewsArticle' | 'defaultPreload'>; export type UtiqPageConfig = PageConfig<'utiq', typeof UtiqPage, ComponentNameCommon | ComponentNameRubric | ComponentNameUtiq, keyof UtiqPageProps | 'meta' | 'jsonLdBreadcrumb' | 'defaultPreload'>; export type WeatherPageConfig = PageConfig<'weather', typeof WeatherPage, ComponentNameCommon | ComponentNameRubric | ComponentNameWeather, keyof WeatherPageProps | 'meta' | 'jsonLdBreadcrumb' | 'defaultPreload'>; export type WhyCreateAccountPageConfig = PageConfig<'whyCreateAccount', typeof WhyCreateAccountPage, ComponentNameCommon | ComponentNameWhyCreateAccount, keyof WhyCreateAccountPageProps | 'meta' | 'jsonLdBreadcrumb' | 'defaultPreload'>; export type PageConfigs = [ AdIframePageConfig, ArchiveByDayPageConfig, ArchiveByYearPageConfig, ArticlePageConfig, AstroHomePageConfig, AstroPageConfig, ContactPageConfig, DirectPageConfig, ElectionsAIArticlesPageConfig, ElectionsEmbedPageConfig, ElectionsHomePageConfig, ElectionsPageConfig, ErrorPageConfig, GameAppPageConfig, GameHomePageConfig, GamePageConfig, HomePageConfig, JobDetailsPageConfig, JobsPageConfig, JournalistPageConfig, La21ePageConfig, LegalNoticeDepartmentPageConfig, LegalNoticeHomePageConfig, LegalNoticeDetailPageConfig, LegalPageConfig, LivePageConfig, MobileAppsPageConfig, MostCommentedPageConfig, MostReadPageConfig, MostSharedPageConfig, MoviesPageConfig, NewsPageConfig, PartnerPageConfig, QuizPageConfig, RewindPageConfig, SearchPageConfig, ServicePageConfig, ShoppingGuidePageConfig, SitemapPageConfig, SlideshowPageConfig, SportPageConfig, StaticPageConfig, TagPageConfig, TrafficPageConfig, TvHomePageConfig, TvLivePageConfig, TvMostRecentPageConfig, TvMostViewedPageConfig, TvShowPageConfig, TvShowsPageConfig, TvVideoPageConfig, UtiqPageConfig, WeatherPageConfig, WhyCreateAccountPageConfig ]; export type PageConfigAvailable = PageConfigs[number];