import { EventEmitter, ElementRef, OnInit } from '@angular/core';
import 'prismjs';
import 'prismjs/components/prism-typescript';
import 'prismjs/components/prism-javascript';
import 'prismjs/components/prism-css';
import 'prismjs/components/prism-json';
import * as i0 from "@angular/core";
interface Message {
    id: string | number;
    sender: 'user' | 'assistant' | 'agent';
    senderType: number;
    messageContent: string;
    sentAt: Date;
    isSeen: boolean;
}
export declare class ChatComponent implements OnInit {
    messages: Message[];
    needsAgent: boolean;
    assistantStatus: string;
    isAblyConnected: boolean;
    isChatClosed: boolean;
    currentLang: string;
    loading: boolean;
    sendMessageEvent: EventEmitter<string>;
    chatMessagesContainer: ElementRef;
    messageInput: ElementRef;
    messageContent: string;
    firstAgentMessageIndex: number;
    ngOnInit(): void;
    findFirstAgentMessageIndex(): void;
    handleSendMessage(): void;
    cleanMessageContent(content: string): string;
    adjustTextareaHeight(): void;
    ngAfterViewChecked(): void;
    scrollToBottom(): void;
    hasAgentMessageBeenSent(messages: any[]): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<ChatComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ChatComponent, "app-chat", never, { "messages": { "alias": "messages"; "required": false; }; "needsAgent": { "alias": "needsAgent"; "required": false; }; "assistantStatus": { "alias": "assistantStatus"; "required": false; }; "isAblyConnected": { "alias": "isAblyConnected"; "required": false; }; "isChatClosed": { "alias": "isChatClosed"; "required": false; }; "currentLang": { "alias": "currentLang"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; }, { "sendMessageEvent": "sendMessageEvent"; }, never, never, true, never>;
}
export {};
