/**
 * 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<React.ContextType<typeof DependenciesContext>> & SharedRendererProps & {
    json: PerseusArticle;
    legacyPerseusLint?: ReadonlyArray<string>;
    keypadElement?: KeypadAPI | null | undefined;
    dependencies: PerseusDependenciesV2;
};
type DefaultProps = {
    apiOptions: Props["apiOptions"];
    linterContext: Props["linterContext"];
};
declare class ArticleRenderer extends React.Component<Props> implements KeypadContextRendererInterface {
    static contextType: React.Context<import("./components/i18n-context").I18nContextType>;
    context: React.ContextType<typeof PerseusI18nContext>;
    _currentFocus: any;
    sectionRenderers: Array<Renderer>;
    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;
