/**
 * This widget is used for freeform text input. It is configured with a question
 * as an option and renders the question text along with a text input area where
 * the user can type any text as their answer. The initial use case for this widget
 * is "short answer" type questions.
 */
import * as React from "react";
import { PerseusI18nContext } from "../../components/i18n-context";
import type { Widget, WidgetExports, WidgetProps } from "../../types";
import type { PerseusFreeResponseUserInput, PerseusFreeResponseWidgetOptions } from "@khanacademy/perseus-core";
type Props = WidgetProps<PerseusFreeResponseWidgetOptions, PerseusFreeResponseUserInput>;
type DefaultProps = Pick<Props, "userInput">;
export declare class FreeResponse extends React.Component<Props> implements Widget {
    static contextType: React.Context<import("../../components/i18n-context").I18nContextType>;
    context: React.ContextType<typeof PerseusI18nContext>;
    isWidget: true;
    static defaultProps: DefaultProps;
    characterCount: () => number;
    _handleUserInput: (newValue: string) => void;
    isOverLimit(): boolean;
    renderCharacterCount(): React.ReactNode;
    render(): React.ReactNode;
}
declare const _default: WidgetExports<typeof FreeResponse>;
export default _default;
