import { AfterViewInit, EventEmitter, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
import { EmojiInputService } from '../emoji-input.service';
import { TextareaInterface } from '../textarea.interface';
import { UserResponse } from 'stream-chat';
import * as i0 from "@angular/core";
/**
 * The `Textarea` component is used by the [`MessageInput`](./MessageInputComponent.mdx) component to display the input HTML element where users can type their message.
 */
export declare class TextareaComponent implements TextareaInterface, OnChanges, OnDestroy, AfterViewInit {
    private emojiInputService;
    class: string;
    /**
     * The value of the input HTML element.
     */
    value: string;
    /**
     * Placeholder of the textarea
     */
    placeholder: string;
    /**
     * See [`MessageInputConfigService`](../services/MessageInputConfigService.mdx) for more information
     */
    inputMode: 'desktop' | 'mobile';
    /**
     * Enables or disables auto focus on the textarea element
     */
    autoFocus: boolean;
    /**
     * Emits the current value of the input element when a user types.
     */
    readonly valueChange: EventEmitter<string>;
    /**
     * Emits when a user triggers a message send event (this happens when they hit the `Enter` key).
     */
    readonly send: EventEmitter<void>;
    /**
     * Emits any paste event that occured inside the textarea
     */
    readonly pasteFromClipboard: EventEmitter<ClipboardEvent>;
    private messageInput;
    userMentions?: EventEmitter<UserResponse[]> | undefined;
    areMentionsEnabled?: boolean | undefined;
    mentionScope?: 'channel' | 'application' | undefined;
    private subscriptions;
    private isViewInited;
    constructor(emojiInputService: EmojiInputService);
    ngOnChanges(changes: SimpleChanges): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    inputChanged(): void;
    enterHit(event: Event): void;
    private adjustTextareaHeight;
    static ɵfac: i0.ɵɵFactoryDeclaration<TextareaComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TextareaComponent, "stream-textarea", never, { "value": "value"; "placeholder": "placeholder"; "inputMode": "inputMode"; "autoFocus": "autoFocus"; }, { "valueChange": "valueChange"; "send": "send"; "pasteFromClipboard": "pasteFromClipboard"; }, never, never, false, never>;
}
