import * as React from "react";
import { PerseusI18nContext } from "../../components/i18n-context";
import type { WidgetProps, Widget } from "../../types";
import type { ImagePromptJSON } from "../../widget-ai-utils/image/image-ai-utils";
import type { PerseusImageWidgetOptions } from "@khanacademy/perseus-core";
type ExternalProps = WidgetProps<PerseusImageWidgetOptions>;
export interface ImageWidgetProps extends ExternalProps {
    alignment: NonNullable<ExternalProps["alignment"]>;
    title: NonNullable<ExternalProps["title"]>;
    range: NonNullable<ExternalProps["range"]>;
    box: NonNullable<ExternalProps["box"]>;
    backgroundImage: NonNullable<ExternalProps["backgroundImage"]>;
    labels: NonNullable<ExternalProps["labels"]>;
    alt: NonNullable<ExternalProps["alt"]>;
    longDescription: NonNullable<ExternalProps["longDescription"]>;
    decorative: NonNullable<ExternalProps["decorative"]>;
    caption: NonNullable<ExternalProps["caption"]>;
    linterContext: NonNullable<ExternalProps["linterContext"]>;
}
interface DefaultProps extends Partial<ImageWidgetProps> {
    alignment: ImageWidgetProps["alignment"];
    title: ImageWidgetProps["title"];
    range: ImageWidgetProps["range"];
    box: ImageWidgetProps["box"];
    backgroundImage: ImageWidgetProps["backgroundImage"];
    labels: ImageWidgetProps["labels"];
    alt: ImageWidgetProps["alt"];
    longDescription: ImageWidgetProps["longDescription"];
    decorative: ImageWidgetProps["decorative"];
    caption: ImageWidgetProps["caption"];
    linterContext: ImageWidgetProps["linterContext"];
}
declare class ImageWidget extends React.Component<ImageWidgetProps> implements Widget {
    static contextType: React.Context<import("../../components/i18n-context").I18nContextType>;
    context: React.ContextType<typeof PerseusI18nContext>;
    static defaultProps: DefaultProps;
    isWidget: true;
    getPromptJSON(): ImagePromptJSON;
    render(): React.ReactNode;
}
declare const _default: {
    name: string;
    displayName: string;
    widget: typeof ImageWidget;
    isLintable: true;
};
export default _default;
