import { FieldConfig } from './field';
/**
 * Configuração para campo de área de texto multilinha.
 *
 * Exibe um textarea com suporte a reconhecimento de voz, controle de linhas/colunas,
 * modo somente-leitura e limite de caracteres.
 *
 * Para funcionalidades de geração de texto por IA, use `type: 'contentGenerator'`.
 */
export interface TextAreaFieldConfig extends FieldConfig {
    /** Tipo do campo: sempre `'textArea'`. */
    type: 'textArea';
    /**
     * Número de colunas de texto do textarea (largura).
     */
    cols?: number;
    /**
     * Número de linhas visíveis do textarea (altura inicial).
     */
    rows?: number;
    /**
     * Filtro de teclas aceitas no campo. Aceita regex ou string.
     */
    keyFilter?: any;
    /**
     * Estilos CSS inline aplicados diretamente no elemento textarea.
     */
    style?: Partial<CSSStyleDeclaration>;
    /**
     * Função que retorna `true` quando o campo deve estar em modo somente-leitura.
     */
    readonly?: () => boolean;
    /**
     * Quando `true`, exibe o botão de reconhecimento de voz (speech-to-text).
     */
    speechRecognition?: boolean;
    /**
     * Quando `true`, mantém o contexto das interações anteriores de voz/IA.
     */
    keepContext?: boolean;
    /**
     * Texto de placeholder exibido na área de reconhecimento de voz enquanto o microfone está ativo.
     */
    speechRecognitionPlaceholder?: string;
    /**
     * Número máximo de caracteres permitidos no campo.
     */
    maxLength?: number;
}
declare module './field' {
    interface FieldTypeMap {
        textArea: TextAreaFieldConfig;
    }
}
