import type { PerseusRadioChoice, PerseusRadioWidgetOptions } from "../../data-schema"; /** * For details on the individual options, see the * PerseusRadioWidgetOptions type. */ export type RadioPublicWidgetOptions = { choices: ReadonlyArray; hasNoneOfTheAbove?: PerseusRadioWidgetOptions["hasNoneOfTheAbove"]; countChoices?: PerseusRadioWidgetOptions["countChoices"]; numCorrect?: PerseusRadioWidgetOptions["numCorrect"]; randomize?: PerseusRadioWidgetOptions["randomize"]; multipleSelect?: PerseusRadioWidgetOptions["multipleSelect"]; deselectEnabled?: PerseusRadioWidgetOptions["deselectEnabled"]; }; /** * Only the options from each Radio choice that should be exposed to the client. */ type RadioChoicePublicData = Pick; /** * Shared functionality to determine if numCorrect is used, because: * * 1. numCorrect is conditionally used for rendering pre-scoring * 2. numCorrect also exposes information about answers * * So only include/use numCorrect when we know it's useful. */ export declare function usesNumCorrect(multipleSelect: PerseusRadioWidgetOptions["multipleSelect"], countChoices: PerseusRadioWidgetOptions["countChoices"], numCorrect: PerseusRadioWidgetOptions["numCorrect"]): number | false | undefined; /** * Given a PerseusRadioWidgetOptions object, return a new object with only * the public options that should be exposed to the client. */ export declare function getRadioPublicWidgetOptions(options: PerseusRadioWidgetOptions): RadioPublicWidgetOptions; export {};