// @flow import { type Location } from "react-router-dom"; import theme from "shared/styles/theme"; import Document from "models/Document"; export type Theme = typeof theme; export type LocationWithState = Location & { state: { [key: string]: string, }, }; export type Toast = {| id: string, createdAt: string, message: string, type: "warning" | "error" | "info" | "success", timeout?: number, reoccurring?: number, action?: { text: string, onClick: () => void, }, |}; export type FetchOptions = { prefetch?: boolean, revisionId?: string, shareId?: string, force?: boolean, }; export type NavigationNode = {| id: string, title: string, url: string, children: NavigationNode[], |}; // Pagination response in an API call export type Pagination = { limit: number, nextPath: string, offset: number, }; // Pagination request params export type PaginationParams = {| limit?: number, offset?: number, sort?: string, direction?: "ASC" | "DESC", |}; export type SearchResult = { ranking: number, context: string, document: Document, };