import type { ChoiceState } from "../../../types";
import type { RadioChoiceWithMetadata } from "../multiple-choice-widget.new";
import type { ShowSolutions } from "@khanacademy/perseus-core";
interface GetChoiceStatesProps {
    choices: ReadonlyArray<RadioChoiceWithMetadata>;
    isStatic?: boolean | null;
    showSolutions?: ShowSolutions;
    choiceStates?: ReadonlyArray<ChoiceState>;
}
/**
 * Determine the updated choice states for the Radio widget, based on the
 * widget's static / showSolutions states, and choiceStates.
 *
 * @param choices - The choices for the Radio widget.
 * @param isStatic - Whether the widget is static.
 * @param showSolutions - Whether the widget is in showSolutions mode.
 * @param choiceStates - The choice states for the widget. (The user's current selection states.)
 * @returns The updated choice states for the widget.
 */
export declare const getChoiceStates: ({ choices, isStatic, showSolutions, choiceStates, }: GetChoiceStatesProps) => ReadonlyArray<ChoiceState>;
/**
 * Parse the nested widgets in the content of a Radio widget.
 * Currently this only supports passage-ref widgets, but can
 * be extended to support other nested widgets in the future.
 *
 * @param content - The content of the Radio widget.
 * @returns The parsed content and the extracted widgets.
 */
export declare const parseNestedWidgets: (content: string) => {
    parsedContent: string;
    extractedWidgets: Record<string, any>;
};
export {};
