import { ButtonProps } from '@studio/editor/src/components/Button/index'; import { StudioLayoutComponentsConfig } from '../../../types'; import { ChatContext, CommonComponentProps, UploadedAsset } from '../../types'; import { AiChatInputPropsSchema } from '../../typesSchema'; import { AssetsSectionProps } from './AssetsSection'; import { AttachButtonProps } from './AttachButton'; import { ContextSectionProps } from './ContextSection'; import { DictateButtonProps } from './DictateButton'; import { ChatAsset } from './constants'; export interface AiChatInputState { input: string; assets: ChatAsset[]; } export interface AiChatInputLayoutProps { state: AiChatInputState; } export interface AiChatInputProps extends Omit, Omit { uploadProjectAssets?: (props: { files: File[]; }) => Promise; chatContext?: ChatContext; layoutBefore?: (props: AiChatInputLayoutProps) => StudioLayoutComponentsConfig | undefined | void; layoutAfter?: (props: AiChatInputLayoutProps) => StudioLayoutComponentsConfig | undefined | void; onSubmit?: (props: { event: React.FormEvent; submit: () => Promise; state: AiChatInputState; }) => void; contextSectionProps?: Partial; textareaProps?: Partial>; assetsSectionProps?: Partial; attachButtonProps?: Partial; dictateButtonProps?: Partial; submitButtonProps?: Partial; } export declare const AiChatInput: React.FC; export default AiChatInput;