import { type DirectLineJSBotConnection, type GlobalScopePonyfill, type OneOrMany, type WebChatActivity } from 'botframework-webchat-core'; import PropTypes from 'prop-types'; import React, { type ReactNode } from 'react'; import StyleOptions from '../StyleOptions'; import ActivityMiddleware from '../types/ActivityMiddleware'; import { type ActivityStatusMiddleware } from '../types/ActivityStatusMiddleware'; import AttachmentForScreenReaderMiddleware from '../types/AttachmentForScreenReaderMiddleware'; import AttachmentMiddleware from '../types/AttachmentMiddleware'; import AvatarMiddleware from '../types/AvatarMiddleware'; import CardActionMiddleware from '../types/CardActionMiddleware'; import GroupActivitiesMiddleware from '../types/GroupActivitiesMiddleware'; import LocalizedStrings from '../types/LocalizedStrings'; import ScrollToEndButtonMiddleware from '../types/ScrollToEndButtonMiddleware'; import TelemetryMeasurementEvent from '../types/TelemetryMeasurementEvent'; import ToastMiddleware from '../types/ToastMiddleware'; import TypingIndicatorMiddleware from '../types/TypingIndicatorMiddleware'; import { type ContextOf } from '../types/ContextOf'; import { type SendBoxMiddleware } from './internal/SendBoxMiddleware'; import { type SendBoxToolbarMiddleware } from './internal/SendBoxToolbarMiddleware'; import { default as WebChatAPIContext } from './internal/WebChatAPIContext'; type ComposerCoreProps = Readonly<{ activityMiddleware?: OneOrMany; activityStatusMiddleware?: OneOrMany; attachmentForScreenReaderMiddleware?: OneOrMany; attachmentMiddleware?: OneOrMany; avatarMiddleware?: OneOrMany; cardActionMiddleware?: OneOrMany; children?: ReactNode | ((context: ContextOf) => ReactNode); dir?: string; directLine: DirectLineJSBotConnection; disabled?: boolean; downscaleImageToDataURL?: (blob: Blob, maxWidth: number, maxHeight: number, type: string, quality: number) => Promise; grammars?: any; groupActivitiesMiddleware?: OneOrMany; internalErrorBoxClass?: React.Component | Function; locale?: string; onTelemetry?: (event: TelemetryMeasurementEvent) => void; overrideLocalizedStrings?: LocalizedStrings | ((strings: LocalizedStrings, language: string) => LocalizedStrings); renderMarkdown?: (markdown: string, newLineOptions: { markdownRespectCRLF: boolean; }, linkOptions: { externalLinkAlt: string; }) => string; scrollToEndButtonMiddleware?: OneOrMany; selectVoice?: (voices: (typeof window.SpeechSynthesisVoice)[], activity: WebChatActivity) => void; sendBoxMiddleware?: readonly SendBoxMiddleware[] | undefined; sendBoxToolbarMiddleware?: readonly SendBoxToolbarMiddleware[] | undefined; sendTypingIndicator?: boolean; styleOptions?: StyleOptions; toastMiddleware?: OneOrMany; typingIndicatorMiddleware?: OneOrMany; userID?: string; username?: string; }>; type ComposerWithStoreProps = ComposerCoreProps & Readonly<{ store?: any; }>; type ComposerProps = ComposerWithStoreProps & { internalRenderErrorBox?: any; /** * Ponyfill to overrides specific global scope members. This prop cannot be changed after initial render. * * This option is for development use only. Not all features in Web Chat are ponyfilled. * * To fake timers, `setTimeout` and related functions can be passed to overrides the original global scope members. * * Please see [#4662](https://github.com/microsoft/BotFramework-WebChat/pull/4662) for details. */ ponyfill?: Partial; }; declare const Composer: { ({ internalRenderErrorBox, onTelemetry, ponyfill, ...props }: ComposerProps): any; defaultProps: { internalRenderErrorBox: any; onTelemetry: any; ponyfill: any; store: any; }; propTypes: { internalRenderErrorBox: PropTypes.Requireable; onTelemetry: PropTypes.Requireable<(...args: any[]) => any>; ponyfill: PropTypes.Requireable; store: PropTypes.Requireable; }; }; export default Composer; export type { ComposerProps }; //# sourceMappingURL=Composer.d.ts.map