import { CSSProperties } from 'glamor';
import { AccordionStyles } from '../../templates/Accordion';
import { InputProps } from '../input/input.interface';
import { InputComponentStyles } from '../input/input.styles.interface';

/**
 * Interface for props to be passed to the smart input component
 */
export interface SmartInputProps extends Omit<InputProps, 'styleOverwrites'> {
  /**
   * The AI model to be used for the input
   * @optional
   * @default 'turbo-3.0'
   */
  model?: string;
  /**
   * Context for the AI model.
   * This is a string that is used to provide context to the AI model.
   */
  context?: string;
  /**
   * The style overwrites for the smart input component
   */
  styleOverwrites?: {
    accordion?: AccordionStyles;
    promptInput?: InputComponentStyles;
    input?: InputComponentStyles;
    aiIcon?: CSSProperties;
  };
  /**
   * Options for the AI icon
   */
  aiIcon?: {
    size?: number;
    color?: string;
  };
}
