/** * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ /* eslint-disable import/no-duplicates */ /* eslint-disable camelcase */ declare module '@theme/BlogSidebar' { export type BlogSidebarItem = {title: string; permalink: string}; export type BlogSidebar = { title: string; items: BlogSidebarItem[]; }; export type Props = { readonly sidebar: BlogSidebar; }; const BlogSidebar: (props: Props) => JSX.Element; export default BlogSidebar; } declare module '@theme/BlogPostPage' { import type {TOCItem} from '@docusaurus/types'; import type {BlogSidebar} from '@theme/BlogSidebar'; export type FrontMatter = { readonly title: string; readonly author?: string; readonly image?: string; readonly tags?: readonly string[]; readonly keywords?: readonly string[]; readonly author_url?: string; readonly authorURL?: string; readonly author_title?: string; readonly authorTitle?: string; readonly author_image_url?: string; readonly authorImageURL?: string; readonly hide_table_of_contents?: boolean; }; export type Metadata = { readonly title: string; readonly date: string; readonly formattedDate: string; readonly permalink: string; readonly description?: string; readonly editUrl?: string; readonly readingTime?: number; readonly truncated?: string; readonly nextItem?: {readonly title: string; readonly permalink: string}; readonly prevItem?: {readonly title: string; readonly permalink: string}; readonly tags: readonly { readonly label: string; readonly permalink: string; }[]; }; export type Content = { readonly frontMatter: FrontMatter; readonly metadata: Metadata; readonly toc: readonly TOCItem[]; (): JSX.Element; }; export type Props = { readonly sidebar: BlogSidebar; readonly content: Content; }; const BlogPostPage: (props: Props) => JSX.Element; export default BlogPostPage; } declare module '@theme/BlogListPage' { import type {Content} from '@theme/BlogPostPage'; import type {BlogSidebar} from '@theme/BlogSidebar'; export type Item = { readonly content: () => JSX.Element; }; export type Metadata = { readonly blogTitle: string; readonly blogDescription: string; readonly nextPage?: string; readonly page: number; readonly permalink: string; readonly postsPerPage: number; readonly previousPage?: string; readonly totalCount: number; readonly totalPages: number; }; export type Props = { readonly sidebar: BlogSidebar; readonly metadata: Metadata; readonly items: readonly {readonly content: Content}[]; }; const BlogListPage: (props: Props) => JSX.Element; export default BlogListPage; } declare module '@theme/BlogTagsListPage' { import type {BlogSidebar} from '@theme/BlogSidebar'; export type Tag = { permalink: string; name: string; count: number; allTagsPath: string; slug: string; }; export type Props = { readonly sidebar: BlogSidebar; readonly tags: Readonly>; }; const BlogTagsListPage: (props: Props) => JSX.Element; export default BlogTagsListPage; } declare module '@theme/BlogTagsPostsPage' { import type {BlogSidebar} from '@theme/BlogSidebar'; import type {Tag} from '@theme/BlogTagsListPage'; import type {Content} from '@theme/BlogPostPage'; export type Props = { readonly sidebar: BlogSidebar; readonly metadata: Tag; readonly items: readonly {readonly content: Content}[]; }; }