import * as React from 'react'; import { SxProps, Theme } from '@mui/system'; import { type ComposerRootProps, type ChatAttachmentsConfig, type ChatVariant } from '@mui/x-chat-headless'; import { type ChatComposerClasses } from "./chatComposerClasses.mjs"; export interface ChatComposerFeatures { /** * Whether to enable attachment functionality (attach button and attachment preview list), * and optionally configure attachment validation constraints. * * - `true` – enable with no restrictions (default). * - `false` – disable attachment functionality entirely. * - `{ acceptedMimeTypes, maxFileCount, maxFileSize, onAttachmentReject }` – enable * with the specified validation rules. * @default true */ attachments?: boolean | ChatAttachmentsConfig; } export interface ChatComposerProps extends ComposerRootProps { className?: string; sx?: SxProps; classes?: Partial; /** * Feature flags to control composer capabilities. */ features?: ChatComposerFeatures; /** * The visual layout variant of the composer. * - `'default'` – Stacked layout: attachment list, textarea, then toolbar below. * - `'compact'` – Inline layout: start actions, textarea, end actions in a single row. * * When omitted, inherits from the nearest `ChatVariantProvider` (e.g. set by `ChatBox`). * @default 'default' */ variant?: ChatVariant; } declare const ChatComposer: React.ForwardRefExoticComponent>; export { ChatComposer };