/**
 * Group widget (different than GradedGroup and GradedGroupSet)
 * is a widget that was specifically made for old SAT content
 * and no longer seems to be needed.
 * There's some question to whether we want to keep it
 * to let content creators access old content that is no longer
 * learner-facing, but new content cannot be made with Group.
 */
import * as React from "react";
import { PerseusI18nContext } from "../../components/i18n-context";
import Renderer from "../../renderer";
import type { FocusPath, Widget, WidgetProps } from "../../types";
import type { GroupPromptJSON } from "../../widget-ai-utils/group/group-ai-utils";
import type { PerseusGroupUserInput, PerseusGroupWidgetOptions, PerseusRenderer } from "@khanacademy/perseus-core";
type Props = WidgetProps<PerseusGroupWidgetOptions, PerseusGroupUserInput>;
type DefaultProps = {
    content: Props["content"];
    widgets: Props["widgets"];
    images: Props["images"];
    linterContext: Props["linterContext"];
};
declare class Group extends React.Component<Props> implements Widget {
    static contextType: React.Context<import("../../components/i18n-context").I18nContextType>;
    context: React.ContextType<typeof PerseusI18nContext>;
    rendererRef: Renderer | null | undefined;
    static defaultProps: DefaultProps;
    componentDidMount(): void;
    getPromptJSON(): GroupPromptJSON;
    /**
     * @deprecated - do not use in new code.
     */
    getSerializedState: () => any;
    getInputPaths(): readonly FocusPath[];
    focus(): boolean;
    focusInputPath: (arg1: FocusPath) => void;
    blurInputPath: (arg1: FocusPath) => void;
    render(): React.ReactNode;
}
declare function getStartUserInput(options: PerseusRenderer, problemNum: number): PerseusGroupUserInput;
declare function getUserInputFromSerializedState(serializedState: unknown, widgetOptions: PerseusGroupWidgetOptions): PerseusGroupUserInput;
declare const _default: {
    name: string;
    displayName: string;
    widget: typeof Group;
    hidden: true;
    isLintable: true;
    getStartUserInput: typeof getStartUserInput;
    getUserInputFromSerializedState: typeof getUserInputFromSerializedState;
};
export default _default;
