xref: /expo/docs/types/common.ts (revision 28f207e7)
1export type PageMetadata = {
2  title?: string;
3  sourceCodeUrl?: string;
4  maxHeadingDepth?: number;
5  /* If the page should not show up in the Algolia Docsearch results */
6  hideFromSearch?: boolean;
7  hideTOC?: boolean;
8};
9
10/**
11 * A single header from the `remark-export-headings` plugin.
12 */
13export type RemarkHeading = {
14  id?: string;
15  depth: number;
16  title: string;
17  type: string;
18};
19
20/**
21 * Utility type. Extracts `T` type from `T[]` array.
22 */
23export type ElementType<T extends any[]> = T extends (infer U)[] ? U : never;
24
25export type Url = {
26  pathname: string;
27};
28
29export type NavigationRoute = {
30  as?: string;
31  hidden: boolean;
32  href: string;
33  name: string;
34  sidebarTitle?: string;
35  weight?: number;
36  children?: NavigationRoute[];
37  posts?: NavigationRoute[];
38};
39