type IdentifiedToken = { metadata: M; children?: Token[]; uuid: string; raw: string; content: string; rendersChildrenOnly?: boolean; rendersContentOnly?: boolean; }; type TokenRenderer = (t: Token) => ReactNode; type TokenAttributes = { type: string; render: TokenRenderer; }; type Token> = IdentifiedToken & TokenAttributes; type TokenMarker> = { start: number; end: number; type: string; parent?: TokenMarker; token: Token; }; type FrontMatter = Record;