/**
 * This widget is for embedding Khan Academy CS programs.
 */
import * as React from "react";
import type { Widget, WidgetProps } from "../../types";
import type { UnsupportedWidgetPromptJSON } from "../../widget-ai-utils/unsupported-widget";
import type { PerseusCSProgramWidgetOptions, PerseusCSProgramUserInput } from "@khanacademy/perseus-core";
type Props = WidgetProps<PerseusCSProgramWidgetOptions, PerseusCSProgramUserInput>;
type DefaultProps = {
    showEditor: Props["showEditor"];
    showButtons: Props["showButtons"];
    userInput: Props["userInput"];
};
declare class CSProgram extends React.Component<Props> implements Widget {
    static defaultProps: DefaultProps;
    componentDidMount(): void;
    componentWillUnmount(): void;
    handleMessageEvent: (arg1: any) => void;
    getPromptJSON(): UnsupportedWidgetPromptJSON;
    /**
     * @deprecated and likely very broken API
     * [LEMS-3185] do not trust serializedState
     */
    getSerializedState(): any;
    render(): React.ReactNode;
}
/**
 * @deprecated and likely a very broken API
 * [LEMS-3185] do not trust serializedState
 */
declare function getUserInputFromSerializedState(serializedState: any): PerseusCSProgramUserInput;
declare function getStartUserInput(): PerseusCSProgramUserInput;
declare const _default: {
    name: string;
    displayName: string;
    widget: typeof CSProgram;
    hidden: true;
    getStartUserInput: typeof getStartUserInput;
    getUserInputFromSerializedState: typeof getUserInputFromSerializedState;
};
export default _default;
