/** * An article renderer. Articles are long-form pieces of content, * composed of multiple (Renderer) sections concatenated together. */ import * as React from "react"; import { PerseusI18nContext } from "./components/i18n-context"; import { DependenciesContext } from "./dependencies"; import Renderer from "./renderer"; import type { PerseusDependenciesV2, SharedRendererProps } from "./types"; import type { KeypadAPI } from "@khanacademy/math-input"; import type { PerseusArticle, PerseusRenderer, KeypadContextRendererInterface } from "@khanacademy/perseus-core"; type Props = Partial> & SharedRendererProps & { json: PerseusArticle; /** * @deprecated Does nothing */ useNewStyles: boolean; legacyPerseusLint?: ReadonlyArray; keypadElement?: KeypadAPI | null | undefined; dependencies: PerseusDependenciesV2; }; type DefaultProps = { apiOptions: Props["apiOptions"]; useNewStyles: Props["useNewStyles"]; linterContext: Props["linterContext"]; }; declare class ArticleRenderer extends React.Component implements KeypadContextRendererInterface { static contextType: React.Context; context: React.ContextType; _currentFocus: any; sectionRenderers: Array; static defaultProps: DefaultProps; constructor(props: Props); componentDidMount(): void; shouldComponentUpdate(nextProps: Props): boolean; _handleFocusChange: (arg1: any, arg2: any) => void; _setCurrentFocus: (arg1: any) => void; _onRendererBlur: (arg1: any) => void; blur: () => void; _sections: () => PerseusRenderer[]; render(): React.ReactNode; } export default ArticleRenderer;