/** * 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. */ /// /// declare module '@docusaurus/theme-live-codeblock' { import type {PlaygroundPosition} from '@theme/Playground'; export type ThemeConfig = { liveCodeBlock: { playgroundPosition: PlaygroundPosition; }; }; } declare module '@theme/LiveCodeBlock' { import type {ReactNode} from 'react'; import type {Props as BaseProps} from '@theme/CodeBlock'; type CodeBlockProps = Omit; export interface Props extends CodeBlockProps { children?: string; } export default function LiveCodeBlock(props: Props): ReactNode; } declare module '@theme/Playground' { import type {ReactNode} from 'react'; import type {Props as BaseProps} from '@theme/CodeBlock'; import type {LiveProvider} from 'react-live'; type CodeBlockProps = Omit< BaseProps, 'children' | 'className' | 'language' | 'title' >; type LiveProviderProps = React.ComponentProps; export type PlaygroundPosition = 'top' | 'bottom'; export interface Props extends CodeBlockProps, LiveProviderProps { // Allow empty live playgrounds children?: string; position?: PlaygroundPosition; } export default function Playground(props: Props): ReactNode; } declare module '@theme/Playground/Provider' { import type {ReactNode} from 'react'; import type {Props as PlaygroundProps} from '@theme/Playground'; export interface Props extends Omit { code: string | undefined; children: ReactNode; } export interface ResetContextValue { resetKey: number; reset: () => void; } export const PlaygroundResetContext: React.Context; export function usePlaygroundReset(): ResetContextValue; export default function PlaygroundProvider(props: Props): ReactNode; } declare module '@theme/Playground/Container' { import type {ReactNode} from 'react'; export interface Props { children: ReactNode; } export default function PlaygroundContainer(props: Props): ReactNode; } declare module '@theme/Playground/Layout' { import type {ReactNode} from 'react'; import type {PlaygroundPosition} from '@theme/Playground'; export interface Props { position?: PlaygroundPosition; } export default function PlaygroundLayout(props: Props): ReactNode; } declare module '@theme/Playground/Preview' { import type {ReactNode} from 'react'; // eslint-disable-next-line @typescript-eslint/no-empty-interface export interface Props {} export default function PlaygroundPreview(props: Props): ReactNode; } declare module '@theme/Playground/Editor' { import type {ReactNode} from 'react'; // eslint-disable-next-line @typescript-eslint/no-empty-interface export interface Props {} export default function PlaygroundEditor(props: Props): ReactNode; } declare module '@theme/Playground/Header' { import type {ReactNode} from 'react'; export interface Props { children: ReactNode; buttons?: ReactNode; } export default function PlaygroundHeader(props: Props): ReactNode; } declare module '@theme/Playground/Buttons/ResetButton' { import type {ReactNode} from 'react'; export interface Props { className?: string; } export default function ResetButton(props: Props): ReactNode; } declare module '@theme/ReactLiveScope' { type Scope = { [key: string]: unknown; }; const ReactLiveScope: Scope; export default ReactLiveScope; }