import { TCodeData } from 'components/Code'; import { TDelimiterData } from 'components/Delimiter'; import { THeaderData } from 'components/Header'; import { TImageData } from 'components/Image'; import { TListData } from 'components/List'; import { TParagraphData } from 'components/Paragraph'; import { TQuoteData } from 'components/Quote'; import { TRawToolData } from 'components/RawTool'; import { TTableData } from 'components/Table'; import { CODE_KEY, DELIMITER_KEY, HEADER_KEY, IMAGE_KEY, LIST_KEY, PARAGRAPH_KEY, QUOTE_KEY, RAW_TOOL_KEY, TABLE_KEY, } from '../utils/componentKeys'; type TCommonType = { id: string; type: T; data: K; }; type TParagraph = TCommonType; type THeader = TCommonType; type TList = TCommonType; type TDelimeter = TCommonType; type TImage = TCommonType; type TCode = TCommonType; type TRawData = TCommonType; type TQuote = TCommonType; type TTable = TCommonType; type TBlock = | TParagraph | THeader | TList | TDelimeter | TImage | TCode | TRawData | TQuote | TTable; export type IParser = { time: number; version: string; blocks?: TBlock[]; };