import { Changeable } from "@khanacademy/perseus";
import * as React from "react";
import type { PerseusPythonProgramWidgetOptions, PythonProgramDefaultWidgetOptions } from "@khanacademy/perseus-core";
type Props = Changeable.ChangeableProps & {
    programID: string;
    height: number;
};
export declare function validateOptions(height: Props["height"], programID: Props["programID"]): ReadonlyArray<string>;
/**
 * An editor for adding a Python program widget that allows users to write, edit and execute Python code.
 */
declare class PythonProgramEditor extends React.Component<Props> {
    static widgetName: "python-program";
    static defaultProps: PythonProgramDefaultWidgetOptions;
    change: (...args: ReadonlyArray<unknown>) => any;
    serialize(): PerseusPythonProgramWidgetOptions;
    getSaveWarnings: () => ReadonlyArray<string>;
    render(): React.ReactNode;
}
export default PythonProgramEditor;
