import { FoundationElement } from '@ni/fast-foundation';
declare global {
    interface HTMLElementTagNameMap {
        'spright-chat-input': ChatInput;
    }
}
declare const ChatInput_base: (abstract new (...args: any[]) => {
    errorText?: string;
    errorVisible: boolean;
    errorHasOverflow: boolean;
    readonly $fastController: import("@ni/fast-element").Controller;
    $emit(type: string, detail?: any, options?: Omit<CustomEventInit, "detail">): boolean | void;
    connectedCallback(): void;
    disconnectedCallback(): void;
    attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
}) & typeof FoundationElement;
/**
 * A Spright component for composing and sending a chat message
 */
export declare class ChatInput extends ChatInput_base {
    private static readonly fieldSizingSupported;
    placeholder?: string;
    sendButtonLabel?: string;
    stopButtonLabel?: string;
    value: string;
    tabIndex: number;
    maxLength?: number;
    processing: boolean;
    sendDisabled: boolean;
    /**
     * @internal
     */
    textArea?: HTMLTextAreaElement;
    /**
     * Tracks whether the send button should be disabled based on input value
     * @internal
     */
    isInputEmpty: boolean;
    /**
     * The width of the vertical scrollbar, if displayed.
     * @internal
     */
    scrollbarWidth: number;
    /** @internal */
    footerActionsIsEmpty: boolean;
    /** @internal */
    readonly slottedFooterActionsElements?: HTMLElement[];
    /** @internal */
    attachmentsIsEmpty: boolean;
    /** @internal */
    readonly slottedAttachmentsElements?: HTMLElement[];
    private resizeObserver?;
    private updateScrollbarWidthQueued;
    slottedFooterActionsElementsChanged(_prev: HTMLElement[] | undefined, next: HTMLElement[] | undefined): void;
    slottedAttachmentsElementsChanged(_prev: HTMLElement[] | undefined, next: HTMLElement[] | undefined): void;
    /**
     * @internal
     */
    textAreaKeydownHandler(e: KeyboardEvent): boolean;
    /**
     * @internal
     */
    textAreaInputHandler(): void;
    /**
     * @internal
     */
    placeholderChanged(): void;
    /**
     * @internal
     */
    valueChanged(): void;
    /**
     * @internal
     */
    connectedCallback(): void;
    /**
     * @internal
     */
    disconnectedCallback(): void;
    /**
     * @internal
     */
    sendButtonClickHandler(): void;
    /**
     * @internal
     */
    stopButtonClickHandler(): void;
    private shouldDisableSendButton;
    private resetInput;
    private onResize;
    private queueUpdateScrollbarWidth;
    private adjustTextAreaHeight;
    private updateScrollbarWidth;
}
export declare const chatInputTag = "spright-chat-input";
export {};
