import * as React from 'react';
import type { RenderProp } from '@mui/x-data-grid';
import { type PromptFieldState } from "./PromptFieldContext.js";
export type PromptFieldProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'className' | 'onSubmit'> & {
  /**
   * A function to customize rendering of the component.
   */
  render?: RenderProp<React.ComponentProps<'div'>, PromptFieldState>;
  /**
   * Override or extend the styles applied to the component.
   */
  className?: string | ((state: PromptFieldState) => string);
  /**
   * The BCP 47 language tag to use for the speech recognition.
   * @default HTML lang attribute value or the user agent's language setting
   */
  lang?: string;
  /**
   * Called when an speech recognition error occurs.
   * @param {string} error The error message
   */
  onRecordError?: (error: string) => void;
  /**
   * Called when the user submits the prompt.
   * @param {string} prompt The prompt
   */
  onSubmit: (prompt: string) => void;
};
/**
 * The top level Prompt Field component that provides context to child components.
 * It renders a `<div />` element.
 *
 * Demos:
 *
 * - [Prompt Field](https://mui.com/x/react-data-grid/components/prompt-field/)
 *
 * API:
 *
 * - [PromptField API](https://mui.com/x/api/data-grid/prompt-field/)
 */
declare const PromptField: React.ForwardRefExoticComponent<PromptFieldProps> | React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<HTMLDivElement>, "className" | "onSubmit"> & {
  /**
   * A function to customize rendering of the component.
   */
  render?: RenderProp<React.ComponentProps<"div">, PromptFieldState>;
  /**
   * Override or extend the styles applied to the component.
   */
  className?: string | ((state: PromptFieldState) => string);
  /**
   * The BCP 47 language tag to use for the speech recognition.
   * @default HTML lang attribute value or the user agent's language setting
   */
  lang?: string;
  /**
   * Called when an speech recognition error occurs.
   * @param {string} error The error message
   */
  onRecordError?: (error: string) => void;
  /**
   * Called when the user submits the prompt.
   * @param {string} prompt The prompt
   */
  onSubmit: (prompt: string) => void;
} & React.RefAttributes<HTMLDivElement>>;
export { PromptField };