import { CameraFilesServiceConfig, FilesServiceConfig, MicrophoneFilesServiceConfig } from './types/fileServiceConfigs';
import { MessageContent, IntroMessage, MessageStyles, UserContent, OnMessage } from './types/messages';
import { DisableSubmitButton, SubmitButtonStyles } from './types/submitButton';
import { RequestInterceptor, ResponseInterceptor } from './types/interceptors';
import { InsertKeyViewStyles } from './types/insertKeyViewStyles';
import { InternalHTML } from './utils/webComponent/internalHTML';
import { ValidationHandler } from './types/validationHandler';
import { DirectConnection } from './types/directConnection';
import { TextToSpeechConfig } from './types/textToSpeech';
import { SpeechToTextConfig } from './types/microphone';
import { RemarkableOptions } from './types/remarkable';
import { MessageBody } from './types/messagesInternal';
import { ErrorMessages, OnError } from './types/error';
import { RequestBodyLimits } from './types/chatLimits';
import { DisplayLoadingBubble } from './types/loading';
import { ValidateInput } from './types/validateInput';
import { WebModel } from './types/webModel/webModel';
import { DropupStyles } from './types/dropupStyles';
import { CustomButton } from './types/customButton';
import { HTMLClassUtilities } from './types/html';
import { ServiceIO } from './services/serviceIO';
import { TextInput } from './types/textInput';
import { LoadHistory } from './types/history';
import { FocusMode } from './types/focusMode';
import { CustomStyle } from './types/styles';
import { Response } from './types/response';
import { Connect } from './types/connect';
import { Avatars } from './types/avatars';
import { Names } from './types/names';
import { Demo } from './types/demo';
export declare class DeepChat extends InternalHTML {
    connect?: Connect;
    directConnection?: DirectConnection;
    webModel?: WebModel;
    requestBodyLimits?: RequestBodyLimits;
    requestInterceptor?: RequestInterceptor;
    responseInterceptor?: ResponseInterceptor;
    validateInput?: ValidateInput;
    loadHistory?: LoadHistory;
    chatStyle?: CustomStyle;
    attachmentContainerStyle?: CustomStyle;
    dropupStyles?: DropupStyles;
    inputAreaStyle?: CustomStyle;
    textInput?: TextInput;
    submitButtonStyles?: SubmitButtonStyles;
    customButtons?: CustomButton[];
    auxiliaryStyle?: string;
    history?: MessageContent[];
    introMessage?: IntroMessage | IntroMessage[];
    avatars?: Avatars;
    names?: Names;
    displayLoadingBubble?: DisplayLoadingBubble;
    errorMessages?: ErrorMessages;
    messageStyles?: MessageStyles;
    textToSpeech?: boolean | TextToSpeechConfig;
    speechToText?: boolean | SpeechToTextConfig;
    images?: boolean | FilesServiceConfig;
    gifs?: boolean | FilesServiceConfig;
    camera?: boolean | CameraFilesServiceConfig;
    audio?: boolean | FilesServiceConfig;
    microphone?: boolean | MicrophoneFilesServiceConfig;
    mixedFiles?: boolean | FilesServiceConfig;
    dragAndDrop?: boolean | CustomStyle;
    introPanelStyle?: CustomStyle;
    htmlClassUtilities?: HTMLClassUtilities;
    remarkable?: RemarkableOptions;
    focusMode?: FocusMode;
    getMessages: () => MessageContent[];
    submitUserMessage: (content: UserContent) => void;
    addMessage: (message: Response, isUpdate?: boolean) => void;
    updateMessage: (messageBody: MessageBody, index: number) => void;
    clearMessages: (isReset?: boolean) => void;
    focusInput: () => void;
    refreshMessages: () => void;
    scrollToBottom: () => void;
    disableSubmitButton: DisableSubmitButton;
    setPlaceholderText: (text: string) => void;
    onMessage?: OnMessage;
    onClearMessages?: () => void;
    onComponentRender?: (ref: DeepChat) => void;
    onError?: OnError;
    demo?: Demo;
    _hasBeenRendered: boolean;
    _auxiliaryStyleApplied: boolean;
    _activeService?: ServiceIO;
    _childElement?: HTMLElement;
    _validationHandler?: ValidationHandler;
    _insertKeyViewStyles?: InsertKeyViewStyles;
    constructor();
    private readonly _elementRef;
    private changeToChatView;
    onRender(): void;
    disconnectedCallback(): void;
}
declare global {
    interface HTMLElementTagNameMap {
        'deep-chat': DeepChat;
    }
}
//# sourceMappingURL=deepChat.d.ts.map