import React from 'react'; import type { DeleteDone, ImageHandler, SoundHandler } from '@pie-element/shared-configure-events'; import type { ImageClozeAssociationValidationErrors } from '../controller/index.js'; import type { ImageClozeAssociationConfiguration, ImageClozeAssociationModel } from '../types.js'; /** The model the author edits; the host sets `errors` from the controller's `validate()`. */ export type AuthorModel = Partial & { errors?: ImageClozeAssociationValidationErrors; }; type MediaSupport = { add: (handler: Handler) => void; delete: (src: string, done: DeleteDone) => void; }; export type RootProps = { model: AuthorModel; configuration: ImageClozeAssociationConfiguration; onModelChanged: (model: AuthorModel, reset?: boolean) => void; onConfigurationChanged: (configuration: ImageClozeAssociationConfiguration) => void; /** Not read: the settings panel shows regardless */ disableSidePanel?: boolean; imageSupport?: MediaSupport; uploadSoundSupport?: MediaSupport; }; export declare class Root extends React.Component { onTeacherInstructionsChanged: (teacherInstructions: string) => void; render(): React.JSX.Element; } export default Root;