/** * 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. */ import type { UseDataOptions } from '@docusaurus/types'; export type ActivePlugin = { pluginId: string; pluginData: GlobalPluginData; }; export type ActiveDocContext = { activeVersion?: GlobalVersion; activeDoc?: GlobalDoc; alternateDocVersions: { [versionName: string]: GlobalDoc; }; }; export type GlobalDoc = { /** * For generated index pages, this is the `slug`, **not** `permalink` * (without base URL). Because slugs have leading slashes but IDs don't, * there won't be clashes. */ id: string; path: string; sidebar?: string; unlisted?: boolean; }; export type GlobalVersion = { name: string; label: string; isLast: boolean; path: string; /** The doc with `slug: /`, or first doc in first sidebar */ mainDocId: string; docs: GlobalDoc[]; /** Unversioned IDs. In development, this list is empty. */ draftIds: string[]; sidebars?: { [sidebarId: string]: GlobalSidebar; }; }; export type GlobalSidebar = { link?: { label: string; path: string; }; }; export type GlobalPluginData = { path: string; versions: GlobalVersion[]; breadcrumbs: boolean; }; export type DocVersionSuggestions = { /** Suggest the latest version */ latestVersionSuggestion: GlobalVersion; /** Suggest the same doc, in latest version (if one exists) */ latestDocSuggestion?: GlobalDoc; }; export declare const useAllDocsData: () => { [pluginId: string]: GlobalPluginData; }; export declare const useDocsData: (pluginId: string | undefined) => GlobalPluginData; export declare function useActivePlugin(options?: UseDataOptions): ActivePlugin | undefined; export declare function useActivePluginAndVersion(options?: UseDataOptions): { activePlugin: ActivePlugin; activeVersion: GlobalVersion | undefined; } | undefined; /** Versions are returned ordered (most recent first). */ export declare function useVersions(pluginId: string | undefined): GlobalVersion[]; export declare function useLatestVersion(pluginId: string | undefined): GlobalVersion; /** * Returns `undefined` on doc-unrelated pages, because there's no version * currently considered as active. */ export declare function useActiveVersion(pluginId: string | undefined): GlobalVersion | undefined; export declare function useActiveDocContext(pluginId: string | undefined): ActiveDocContext; /** * Useful to say "hey, you are not on the latest docs version, please switch" */ export declare function useDocVersionSuggestions(pluginId: string | undefined): DocVersionSuggestions;