import type { PerseusItem, PerseusWidgetsMap, PerseusRenderer } from "@khanacademy/perseus-core";
/**
 * This function extracts the answers from the widgets.
 *
 * For each widget type, we first check to make sure the path to the answer exists,
 * then we extract the answer and add it to the list of answers.
 *
 * A list is returned because some widgets, like multi-select radio widgets and groups
 * can have multiple answers.
 *
 * @param {PerseusRenderer["widgets"]} widgets
 * @returns a list of strings that are the answers to the widgets
 */
declare function getAnswersFromWidgets(widgets: PerseusRenderer["widgets"]): ReadonlyArray<string>;
/**
 * Inject a string equivalent of the widgets into the content.
 *
 * Content may contain Perseus widgets, that looks like this: '[[☃ Radio 1]]'.
 * This function replaces those widgets with its equivalent string.
 *
 * @param {string} content
 * @param {PerseusRenderer["widgets"]} widgets
 * @returns
 */
declare function injectWidgets(content: string, widgets: PerseusRenderer["widgets"], widgetProps?: PerseusWidgetsMap): string;
/**
 * Looks through widgets to identify images that do not have alt text.
 *
 * We pass in the fuller perseusRenderer object to allow for the possibility
 * of expanding to include other img data from content & images in the future.
 *
 * @param {PerseusRenderer} perseusRenderer
 * @returns a stringified list of {widgetId, imageUrl} for imgs that don't have alt text
 */
declare function getImagesWithoutAltData(perseusRenderer: PerseusRenderer): string;
export declare const isWrongAnswerSupported: (widgetIds: Array<string>, widgetMap: PerseusWidgetsMap) => boolean;
export declare const shouldHaveIndividualAnswer: (widgetId: string, widgetMap: PerseusWidgetsMap) => boolean;
export declare const getAnswerFromUserInput: (widgetType: string, userInput: any) => any;
export declare const getCorrectAnswerForWidgetId: (widgetId: string, itemData: PerseusItem) => string | null | undefined;
export declare const isWidgetIdInContent: (perseusItem: PerseusItem, widgetId: string) => boolean;
export declare const getValidWidgetIds: (perseusItem: PerseusItem) => Array<string>;
export { getAnswersFromWidgets, getImagesWithoutAltData, injectWidgets };
