import { Tile } from "./tile"; import { Puff } from "./puff"; import { Section } from "./section"; import { DailyUniversalRegister } from "./daily-universal-register"; import { Puzzle } from "./puzzle"; import { Collection } from "./collection"; export type ArticleSlice = StandardSlice | LeadOneAndTwoSlice | OpinionOneAndTwoSlice; export type StandardSectionSlice = StandardSlice | CommentLeadAndCartoonSlice | LetterThundererPodcastSlice | CommentTwoAndNotebookSlice | FocusSlice | LeadersSlice | LeadOneAndFourSlice | SupplementLeadAndFourStackSlice | LeadOneAndOneSlice | LeadOneAndTwoSlice | LeadOneFullWidthSlice | LeadOneNoPicAndOneAndPortraitSlice | LeadTwoNoPicAndTwoSlice | ObituariesLeadAndTwoSlice | OpinionOneAndTwoSlice | SecondaryFourSlice | SecondaryOneSlice | SecondaryOneAndColumnistSlice | SecondaryOneAndFourSlice | SupplementSecondaryOneAndFourSlice | SecondaryTwoAndTwoSlice | SecondaryTwoNoPicAndTwoSlice | TwoPicAndSixNoPicSlice | PuffSlice | DailyUniversalRegister | ContainerSlice; export type MagazineSectionSlice = StandardSlice | CommentLeadAndCartoonSlice | LetterThundererPodcastSlice | CommentTwoAndNotebookSlice | FocusSlice | LeadersSlice | LeadOneAndFourSlice | SupplementLeadAndFourStackSlice | LeadOneAndOneSlice | LeadOneAndTwoSlice | LeadOneFullWidthSlice | LeadOneNoPicAndOneAndPortraitSlice | LeadTwoNoPicAndTwoSlice | ObituariesLeadAndTwoSlice | OpinionOneAndTwoSlice | SecondaryFourSlice | SecondaryOneSlice | SecondaryOneAndColumnistSlice | SecondaryOneAndFourSlice | SupplementSecondaryOneAndFourSlice | SecondaryTwoAndTwoSlice | SecondaryTwoNoPicAndTwoSlice | TwoPicAndSixNoPicSlice | PuffSlice | ContainerSlice; export type PuzzleSectionSlice = Puzzle | PuffSlice; export type FrontPageSectionSlice = InTheNewsSlice | LeadTwoFrontSlice | LeadTwoNoPicAndTwoFrontSlice | LeadOneAndOneFrontSlice | LeadOneFullWidthFrontSlice; export type StandardSlice = { items: Tile[]; sections: Section[]; }; export type CommentLeadAndCartoonSlice = StandardSlice & { lead: Tile; cartoon: Tile; }; export type InTheNewsSlice = PuffSlice; export type LetterThundererPodcastSlice = StandardSlice & { letter: Tile; thunderer: Tile; podcast: Tile; }; export type CommentTwoAndNotebookSlice = StandardSlice & { main1: Tile; main2: Tile; notebook: Tile; }; export type FocusSlice = StandardSlice & { main: Tile; }; export type LeadersSlice = StandardSlice & { leader1: Tile; leader2: Tile; leader3: Tile; }; export type LeadOneAndFourSlice = StandardSlice & { lead: Tile; support1: Tile; support2: Tile; support3: Tile; support4: Tile; }; export type SupplementLeadAndFourStackSlice = StandardSlice & { lead: Tile; support1: Tile; support2: Tile; support3: Tile; support4: Tile; }; export type LeadOneAndOneSlice = StandardSlice & { lead: Tile; support: Tile; leadBullet1: Tile | null; leadBullet2: Tile | null; leadBullet3: Tile | null; }; export type LeadOneAndTwoSlice = StandardSlice & { lead: Tile; support1: Tile; support2: Tile; }; export type LeadOneFullWidthSlice = StandardSlice & { lead: Tile; }; export type LeadOneNoPicAndOneAndPortraitSlice = StandardSlice & { lead: Tile; support: Tile; portrait: Tile; }; export type LeadTwoNoPicAndTwoSlice = StandardSlice & { lead1: Tile; lead2: Tile; support1: Tile; support2: Tile; lead1Bullet1: Tile | null; lead1Bullet2: Tile | null; lead1Bullet3: Tile | null; }; export type ObituariesLeadAndTwoSlice = StandardSlice & { lead: Tile; support1: Tile; support2: Tile; }; export type OpinionOneAndTwoSlice = StandardSlice & { opinion: Tile; support1: Tile; support2: Tile; }; export type SecondaryFourSlice = StandardSlice & { secondary1: Tile; secondary2: Tile; secondary3: Tile; secondary4: Tile; }; export type SecondaryOneSlice = StandardSlice & { secondary: Tile; }; export type SecondaryOneAndColumnistSlice = StandardSlice & { secondary: Tile; columnist: Tile; }; export type SecondaryOneAndFourSlice = StandardSlice & { secondary: Tile; support1: Tile; support2: Tile; support3: Tile; support4: Tile; }; export type SupplementSecondaryOneAndFourSlice = StandardSlice & { secondary: Tile; support1: Tile; support2: Tile; support3: Tile; support4: Tile; }; export type SecondaryTwoAndTwoSlice = StandardSlice & { secondary1: Tile; secondary2: Tile; support1: Tile; support2: Tile; }; export type SecondaryTwoNoPicAndTwoSlice = StandardSlice & { secondary1: Tile; secondary2: Tile; support1: Tile; support2: Tile; }; export type TwoPicAndSixNoPicSlice = StandardSlice & { lead1: Tile; lead2: Tile; support1: Tile; support2: Tile; support3: Tile; support4: Tile; support5: Tile; support6: Tile; }; export type PuffSlice = { items: Puff[]; }; export type ContainerSlice = StandardSlice & { collection: Collection; }; export type LeadTwoNoPicAndTwoFrontSlice = StandardSlice & { lead1: Tile; lead2: Tile; support1: Tile; support2: Tile; }; export type LeadTwoFrontSlice = StandardSlice & { lead1: Tile; lead2: Tile; }; export type LeadOneAndOneFrontSlice = StandardSlice & { lead: Tile; support: Tile; }; export type LeadOneFullWidthFrontSlice = StandardSlice & { lead: Tile; };