import { default as React, ReactNode } from 'react';
import { TextareaProps, MantineColor, MantineSize } from '@mantine/core';
export interface ArchbaseAIPromptSuggestion {
    /** ID único */
    id: string;
    /** Texto da sugestão */
    text: string;
    /** Ícone opcional */
    icon?: ReactNode;
    /** Categoria */
    category?: string;
}
export interface ArchbaseAIPromptInputProps extends Omit<TextareaProps, 'onSubmit'> {
    /** Callback ao enviar (Enter) */
    onSubmit?: (value: string) => void | Promise<void>;
    /** Se está carregando/processando */
    loading?: boolean;
    /** Placeholder */
    placeholder?: string;
    /** Sugestões rápidas */
    suggestions?: ArchbaseAIPromptSuggestion[];
    /** Se deve mostrar sugestões */
    showSuggestions?: boolean;
    /** Histórico de prompts */
    history?: string[];
    /** Se deve habilitar navegação no histórico */
    enableHistory?: boolean;
    /** Máximo de caracteres */
    maxLength?: number;
    /** Se deve mostrar contador */
    showCounter?: boolean;
    /** Se deve habilitar voice input */
    enableVoice?: boolean;
    /** Callback de voice input */
    onVoiceInput?: (transcript: string) => void;
    /** Cor do botão enviar */
    submitColor?: MantineColor;
    /** Ícone do botão enviar */
    submitIcon?: ReactNode;
    /** Tamanho */
    size?: MantineSize;
    /** Mínimo de linhas */
    minRows?: number;
    /** Máximo de linhas */
    maxRows?: number;
    /** Se deve auto-expandir */
    autosize?: boolean;
    /** Se está desabilitado */
    disabled?: boolean;
    /** Classe CSS */
    className?: string;
    /** Estilo */
    style?: React.CSSProperties;
}
export declare const ArchbaseAIPromptInput: React.ForwardRefExoticComponent<Omit<ArchbaseAIPromptInputProps, "ref"> & React.RefAttributes<HTMLTextAreaElement>>;
export interface UseArchbasePromptHistoryOptions {
    maxHistory?: number;
    storageKey?: string;
}
export interface UseArchbasePromptHistoryReturn {
    history: string[];
    addToHistory: (prompt: string) => void;
    clearHistory: () => void;
    currentIndex: number;
    navigateUp: () => string | null;
    navigateDown: () => string | null;
    resetNavigation: () => void;
}
export declare function useArchbasePromptHistory(options?: UseArchbasePromptHistoryOptions): UseArchbasePromptHistoryReturn;
