import * as i3 from '@acorex/cdk/common';
import { AXHtmlEvent, AXEvent, AXStyleColorType, MXInputBaseValueComponent, MXLookComponent, AXClickEvent, MXBaseComponent } from '@acorex/cdk/common';
import * as _angular_core from '@angular/core';
import { Type, WritableSignal, ElementRef, Signal, TemplateRef, OnDestroy, OnInit, ModuleWithProviders } from '@angular/core';
import * as polytype from 'polytype';
import * as i15 from '@acorex/components/popover';
import { AXPopoverComponent } from '@acorex/components/popover';
import * as i12 from '@angular/cdk/portal';
import { ComponentPortal, CdkPortalOutletAttachedRef } from '@angular/cdk/portal';
import * as i9 from '@acorex/components/audio-wave';
import { AXAudioWaveComponent, AXWaveConfig, AXAudioWaveChangeEvent } from '@acorex/components/audio-wave';
import * as i1 from '@angular/common';
import * as i2 from '@angular/forms';
import * as i4 from '@acorex/components/button';
import * as i5 from '@acorex/components/decorators';
import * as i6 from '@acorex/core/translation';
import * as i7 from '@acorex/components/dropdown';
import * as i8 from '@acorex/core/format';
import * as i10 from '@acorex/components/circular-progress';
import * as i11 from '@acorex/core/date-time';
import * as i13 from '@acorex/components/loading';
import * as i14 from '@acorex/components/avatar';
import * as i16 from '@acorex/core/file';
import * as i17 from '@acorex/components/range-slider';
import * as i18 from '@acorex/cdk/virtual-scroll';

interface AXInputFileChange extends AXHtmlEvent<MouseEvent> {
    data?: any;
}
declare class AXConversationActionEvent extends AXEvent {
    data: any;
}

interface AXConversationMessageType {
    name: string;
    component: Type<any>;
}
interface AXConversationMessage {
    id: string;
    type: string;
    sendTime: Date | null;
    deliverTime?: Date;
    readTime?: Date;
    replyTo?: {
        id: string;
    };
    content: any;
    fromId?: string;
    name: string;
    onResendClick?: () => void;
    onDeleteClick?: () => void;
    onDownloadClick?: () => void;
    onCancelClick?: () => void;
    showActionButton?: boolean;
    userName?: string;
}
declare abstract class AXConversationMessageAction {
    color?: AXStyleColorType;
    text: string;
    icon?: string;
    onClick: (id: string) => void;
    items?: AXConversationMessageAction[];
}
declare class AXConversationMenuOpeningEvent {
    items: AXConversationMessageAction[];
    canceled: boolean;
    data: AXConversationMessage;
}
declare class AXConversationMessageBaseComponent {
    message: AXConversationMessage;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationMessageBaseComponent, never>;
    static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXConversationMessageBaseComponent>;
}

/**
 * A container for displaying and managing conversations.
 * @category Components
 */
declare class AXConversationContainerComponent {
    #private;
    chatData: _angular_core.InputSignal<AXConversationMessage[]>;
    private conversationService;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationContainerComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXConversationContainerComponent, "ax-conversation-container", never, { "chatData": { "alias": "chatData"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
}

declare class AXConversationService {
    replyId: _angular_core.WritableSignal<string>;
    chats: _angular_core.WritableSignal<AXConversationMessage[]>;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationService, never>;
    static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXConversationService>;
}

declare class AXRecordingService {
    audioBlobs: any[];
    mediaRecorder: MediaRecorder | null;
    streamBeingCaptured: any;
    timer: WritableSignal<string>;
    protected time: {
        seconds: number;
        minutes: number;
        hours: number;
    };
    protected timerInterval: any;
    /**
     * Starts audio recording using the browser's MediaRecorder API.
     *
     * @returns Promise<void> - Resolves when recording starts successfully, rejects if not supported.
     */
    startRecording(): Promise<void>;
    /**
     * Ends the current recording session and returns the recorded audio blob.
     *
     * @returns Promise<Blob> - Resolves with the recorded audio blob.
     */
    endRecording(): Promise<Blob>;
    /**
     * Calculates and updates the recording time, incrementing seconds, minutes, and hours as needed.
     */
    calculateTime(): void;
    /**
     * Resets the recording timer to zero and clears the timer interval.
     */
    resetTimer(): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXRecordingService, never>;
    static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXRecordingService>;
}

declare const AXConversationInputComponent_base: polytype.Polytype.ClusteredConstructor<[{
    new (): MXInputBaseValueComponent<string>;
    ɵfac: _angular_core.ɵɵFactoryDeclaration<MXInputBaseValueComponent<any>, never>;
    ɵprov: _angular_core.ɵɵInjectableDeclaration<MXInputBaseValueComponent<any>>;
}, typeof MXLookComponent]>;
/**
 * An input component for entering conversation messages.
 *
 * @category Components
 */
declare class AXConversationInputComponent extends AXConversationInputComponent_base {
    protected inputFile: ElementRef<HTMLInputElement>;
    protected sendIcon: Signal<unknown>;
    protected onActionClose: _angular_core.OutputEmitterRef<void>;
    protected conversationService: AXConversationService;
    protected chats: Signal<AXConversationMessage[]>;
    protected actionIcon: WritableSignal<string>;
    protected actionContent: WritableSignal<string>;
    protected actionShowState: WritableSignal<boolean>;
    protected actionUser: WritableSignal<string>;
    protected actionCloseCallback: WritableSignal<() => void>;
    protected replyChat: Signal<AXConversationMessage>;
    setActionBoxContainer(icon: string, content: string, user?: string, closeCallback?: () => void): void;
    /** Maximum length of input text */
    readonly maxLength: _angular_core.InputSignal<number>;
    /** Indicates if an attachment is present */
    readonly hasAttachment: _angular_core.InputSignal<boolean>;
    /** Indicates if voice recording is enabled */
    readonly hasVoice: _angular_core.InputSignal<boolean>;
    readonly hasEmoji: _angular_core.InputSignal<boolean>;
    readonly isLoading: _angular_core.InputSignal<boolean>;
    /** Acceptable file types for attachment */
    readonly acceptFileType: _angular_core.InputSignal<string>;
    /**
     * Emitted when the send button is clicked.
     *
     * @event
     */
    onSendClick: _angular_core.OutputEmitterRef<AXClickEvent>;
    /**
     * Emitted when recording starts.
     *
     * @event
     */
    onStartRecording: _angular_core.OutputEmitterRef<AXClickEvent>;
    /**
     * Emitted when recording is canceled.
     *
     * @event
     */
    onCancelRecording: _angular_core.OutputEmitterRef<AXClickEvent>;
    onEnterPressed: _angular_core.OutputEmitterRef<AXEvent>;
    /**
     *  @ignore
     */
    protected recording: WritableSignal<boolean>;
    /**
     *  @ignore
     */
    protected recordingService: AXRecordingService;
    /**
     *  @ignore
     */
    protected _updateOn: 'change' | 'blur' | 'submit';
    /**
     *  @ignore
     */
    protected _handleModelChange(value: string): void;
    /**
     * Initiates recording when the record button is clicked.
     * Emits an event when recording starts.
     * @ignore
     */
    protected handleRecordClick(): void;
    /**
     * Cancels the recording and emits an event to indicate cancellation.
     * @ignore
     */
    protected handleCancelRecordingClick(): void;
    protected shiftState: boolean;
    protected keyDownHandler(e: KeyboardEvent): void;
    protected keyUpHandler(e: KeyboardEvent): void;
    protected keyPressHandler(e: KeyboardEvent): void;
    /**
     * Opens the file picker for attachment.
     * @ignore
     */
    protected handleAttachClick(): void;
    /**
     * Emits the selected files when the file input changes.
     * @ignore
     */
    protected handleChangeFile(event: Event): void;
    /**
     * Emits the text value and optional replyChat when the send button is clicked.
     * @ignore
     */
    protected handleSendClick(): void;
    /**
     * Ends recording and emits the recorded voice data when the send voice button is clicked.
     * @ignore
     */
    protected handleSendVoiceClick(): void;
    /**
     * Clears the reply ID when closing a reply.
     * @ignore
     */
    protected closeReplyHandler(): void;
    private get __hostName();
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationInputComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXConversationInputComponent, "ax-conversation-input", never, { "look": { "alias": "look"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; "hasAttachment": { "alias": "hasAttachment"; "required": false; "isSignal": true; }; "hasVoice": { "alias": "hasVoice"; "required": false; "isSignal": true; }; "hasEmoji": { "alias": "hasEmoji"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "acceptFileType": { "alias": "acceptFileType"; "required": false; "isSignal": true; }; }, { "onActionClose": "onActionClose"; "onSendClick": "onSendClick"; "onStartRecording": "onStartRecording"; "onCancelRecording": "onCancelRecording"; "onEnterPressed": "onEnterPressed"; }, ["sendIcon"], ["ax-icon"], true, never>;
}

interface AXAudioRecorder {
    audioBlobs: any[];
    mediaRecorder: any;
    streamBeingCaptured: any;
    start?(): any;
    stop?(): any;
    cancel?(): any;
    stopStream?(): any;
    resetRecordingProperties?(): any;
}

declare class AXConversationMessageTypeRegistryService {
    private plugins;
    register(...plugins: AXConversationMessageType[]): void;
    resolve(name: string): AXConversationMessageType | undefined;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationMessageTypeRegistryService, never>;
    static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXConversationMessageTypeRegistryService>;
}

/**
 * A component for displaying individual conversation messages.
 *
 * @category Components
 */
declare class AXConversationMessageComponent extends MXBaseComponent {
    protected popover: _angular_core.Signal<AXPopoverComponent>;
    readonly isReplyArrowShown: _angular_core.InputSignal<boolean>;
    readonly chatMessage: _angular_core.InputSignal<AXConversationMessage>;
    readonly avatar: _angular_core.InputSignal<TemplateRef<any>>;
    protected conversationService: AXConversationService;
    protected registryService: AXConversationMessageTypeRegistryService;
    protected actionButtonItemsPrivate: _angular_core.WritableSignal<AXConversationMessageAction[]>;
    private actionButtonItemsPublic;
    onActionMenuOpening: _angular_core.OutputEmitterRef<AXConversationMenuOpeningEvent>;
    onReplyClick: _angular_core.OutputEmitterRef<AXClickEvent>;
    protected portal: _angular_core.Signal<ComponentPortal<any>>;
    protected messageType: _angular_core.Signal<string>;
    protected get isOwn(): boolean;
    /**
     * Handles the action button click and opens the action menu.
     */
    protected handleActionClick(): void;
    protected _handleAttached(ref: CdkPortalOutletAttachedRef): void;
    /**
     * Handles the resend button click and closes the popover.
     */
    protected handleResendClick(): void;
    /**
     * Handles the delete button click and closes the popover.
     */
    protected handleDeleteClick(): void;
    /**
     * Handles reply functionality by setting the reply ID and emitting the reply click event.
     *
     * @param e - The conversation message to reply to.
     */
    protected replyHandler(e: AXConversationMessage): void;
    get __hostClass(): string;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationMessageComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXConversationMessageComponent, "ax-conversation-message", never, { "isReplyArrowShown": { "alias": "isReplyArrowShown"; "required": false; "isSignal": true; }; "chatMessage": { "alias": "chatMessage"; "required": false; "isSignal": true; }; "avatar": { "alias": "avatar"; "required": false; "isSignal": true; }; }, { "onActionMenuOpening": "onActionMenuOpening"; "onReplyClick": "onReplyClick"; }, never, never, true, never>;
}

/**
 * Component for displaying audio messages in a conversation.
 *
 * @category Components
 */
declare class AXConversationMessageAudioComponent extends AXConversationMessageBaseComponent implements OnDestroy {
    private render;
    /**
     *  @ignore
     */
    protected audioState: _angular_core.WritableSignal<"playing" | "paused">;
    /**
     *  @ignore
     */
    protected audioTag: _angular_core.WritableSignal<HTMLAudioElement>;
    /**
     *  @ignore
     */
    protected audioRate: _angular_core.WritableSignal<number>;
    /**
     *  @ignore
     */
    protected currentTime: _angular_core.WritableSignal<number>;
    /**
     *  @ignore
     */
    protected duration: _angular_core.WritableSignal<number>;
    /**
     *  @ignore
     */
    protected currentTimeFormat: _angular_core.WritableSignal<number>;
    /**
     *  @ignore
     */
    protected durationFormat: _angular_core.WritableSignal<number>;
    /**
     *  @ignore
     */
    protected endedEvent: any;
    /**
     *  @ignore
     */
    protected durationchangeEvent: any;
    /**
     *  @ignore
     */
    protected timeupdateEvent: any;
    /**
     *  @ignore
     */
    constructor();
    /**
     *  @ignore
     */
    ngOnDestroy(): void;
    /**
     *  @ignore
     */
    protected endedFunction(): void;
    /**
     *  @ignore
     */
    protected durationchangeFunction(): void;
    /**
     *  @ignore
     */
    protected timeupdateFunction(): void;
    /**
     * Seeks to the specified time and resumes audio playback.
     *
     * @param e - Time in seconds to seek to.
     * @ignore
     */
    protected clickHandler(e: any): void;
    /**
     * Pauses the audio and updates the state to 'paused'.
     * @ignore
     */
    protected handlePauseClick(): void;
    /**
     * Plays the audio and updates the state to 'playing'.\
     * @ignore
     */
    protected handlePlayClick(): void;
    /**
     * Toggles the playback rate of the audio between 1x, 1.5x, and 2x.
     * @ignore
     */
    protected handleRateClick(): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationMessageAudioComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXConversationMessageAudioComponent, "ax-conversation-message-audio", never, {}, {}, never, never, true, never>;
}

/**
 * Component for displaying file messages in a conversation.
 *
 * @category Components
 */
declare class AXConversationFileMessageComponent extends AXConversationMessageBaseComponent {
    #private;
    /**
     *  @ignore
     */
    protected fileState: _angular_core.WritableSignal<"error" | "loading" | "ready">;
    /**
     *  @ignore
     */
    protected fileSize: _angular_core.WritableSignal<number>;
    /**
     *  @ignore
     */
    protected fileName: _angular_core.WritableSignal<string>;
    /**
     *  @ignore
     */
    private fileService;
    /**
     *  @ignore
     */
    private parent;
    /**
     * Emits a download action event for the file.
     * @ignore
     */
    protected handleDownloadFile(): void;
    /**
     * Emits a cancel action event for the file loading.
     * @ignore
     */
    protected handleCancelLoading(): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationFileMessageComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXConversationFileMessageComponent, "ax-conversation-message-file", never, {}, {}, never, never, true, never>;
}

/**
 * A popup component for displaying an image in full view.
 *
 * @category Components
 */
declare class ConversationMessageImagePopupComponent {
    /**
     *  @ignore
     */
    protected url: string;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<ConversationMessageImagePopupComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<ConversationMessageImagePopupComponent, "ax-conversation-message-image-popup", never, {}, {}, never, never, true, never>;
}

/**
 * A component for displaying an image within a conversation message.
 *
 * @category Components
 */
declare class AXConversationMessageImageComponent extends AXConversationMessageBaseComponent {
    #private;
    /**
     *  @ignore
     */
    protected _imageUrl: _angular_core.WritableSignal<string>;
    /**
     *  @ignore
     */
    private popup;
    /**
     *  @ignore
     */
    protected _options: {
        header: boolean;
        footer: boolean;
        size: string;
        draggable: boolean;
        hasBackdrop: boolean;
        closeButton: boolean;
        closeOnBackdropClick: boolean;
    };
    /**
     * Opens a popup displaying the image with options for draggable, size, and backdrop.
     * @ignore
     */
    protected openPopup(): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationMessageImageComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXConversationMessageImageComponent, "ax-conversation-message-image", never, { "message": { "alias": "message"; "required": false; }; }, {}, never, never, true, never>;
}

/**
 * A component for displaying a text message with optional reply content, including text, images, videos, files, and audio.
 *
 * @category Components
 */
declare class AXConversationTextMessageComponent extends AXConversationMessageBaseComponent implements OnInit {
    /**
     *  @ignore
     */
    protected _text: _angular_core.WritableSignal<string>;
    /**
     *  @ignore
     */
    protected replyText: _angular_core.WritableSignal<AXConversationMessage>;
    /**
     *  @ignore
     */
    protected replyImage: _angular_core.WritableSignal<AXConversationMessage>;
    /**
     *  @ignore
     */
    protected replyVideo: _angular_core.WritableSignal<AXConversationMessage>;
    /**
     *  @ignore
     */
    protected replyAudio: _angular_core.WritableSignal<AXConversationMessage>;
    /**
     *  @ignore
     */
    protected replyVoice: _angular_core.WritableSignal<AXConversationMessage>;
    /**
     *  @ignore
     */
    protected replyFile: _angular_core.WritableSignal<AXConversationMessage>;
    /**
     *  @ignore
     */
    private conversationService;
    ngOnInit(): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationTextMessageComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXConversationTextMessageComponent, "ng-component", never, { "message": { "alias": "message"; "required": false; }; }, {}, never, never, true, never>;
}

/**
 * A component for displaying a video message with playback controls.
 *
 * @category Components
 */
declare class AXConversationMessageVideoComponent extends AXConversationMessageBaseComponent implements OnInit {
    /**
     *  @ignore
     */
    protected _videoUrl: _angular_core.WritableSignal<string>;
    /**
     *  @ignore
     */
    ngOnInit(): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationMessageVideoComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXConversationMessageVideoComponent, "ax-conversation-message-video", never, {}, {}, never, never, true, never>;
}

/**
 * A component for displaying and handling audio messages in a conversation.
 *
 * @category Components
 */
declare class AXConversationVoiceMessageComponent extends AXConversationMessageBaseComponent {
    #private;
    /**
     *  @ignore
     */
    audio: AXAudioWaveComponent;
    /**
     *  @ignore
     */
    protected config: AXWaveConfig;
    /**
     *  @ignore
     */
    protected audioState: _angular_core.WritableSignal<"error" | "playing" | "paused" | "loading" | "ready">;
    /**
     *  @ignore
     */
    private parent;
    private platformID;
    /**
     *  @ignore
     */
    protected selectedRate: _angular_core.WritableSignal<number>;
    /**
     *  @ignore
     */
    private selectedRateIndex;
    /**
     *  @ignore
     */
    protected audioProgress: _angular_core.WritableSignal<number>;
    /**
     *  @ignore
     */
    protected timeLeft: _angular_core.WritableSignal<number>;
    /**
     *  @ignore
     */
    protected currentTime: _angular_core.WritableSignal<number>;
    /**
     *  @ignore
     */
    protected duration: _angular_core.WritableSignal<number>;
    /**
     *  @ignore
     */
    private setWaveColor;
    /**
     * Pauses the audio playback and updates the audio state to 'paused'.
     * @ignore
     */
    protected handlePauseClick(): void;
    /**
     * Plays the audio and updates the audio state to 'playing'.
     * @ignore
     */
    protected handlePlayClick(): void;
    /**
     * Updates audio state and progress based on status changes from the audio wave.
     * @param e - The event containing status and data related to the audio.
     * @ignore
     */
    protected handleOnStatusChanged(e: AXAudioWaveChangeEvent): void;
    /**
     *  @ignore
     */
    protected handleLoadingProgress(): void;
    /**
     * Handles the cancellation of a loading operation.
     * @ignore
     */
    protected handleCancelLoading(): void;
    /**
     * Reloads the audio and updates the state to 'loading'.
     * @ignore
     */
    protected handleReloadClick(): void;
    /**
     * Cycles through predefined audio playback rates and updates the rate.
     * @ignore
     */
    protected handleRateClick(): void;
    /**
     *  @ignore
     */
    get __hostClass(): string;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationVoiceMessageComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXConversationVoiceMessageComponent, "ax-conversation-message-audio", never, { "message": { "alias": "message"; "required": false; }; }, {}, never, never, true, never>;
}

/**
 * Displays the conversation view with messages and interactions.
 *
 * @category Components
 */
declare class AXConversationViewComponent extends MXBaseComponent {
    protected conversationService: AXConversationService;
    readonly chatBoxHeight: _angular_core.InputSignal<string>;
    readonly isReplyArrowShown: _angular_core.InputSignal<boolean>;
    readonly avatar: _angular_core.InputSignal<TemplateRef<any>>;
    onActionMenuOpening: _angular_core.OutputEmitterRef<AXConversationMenuOpeningEvent>;
    onAction: _angular_core.OutputEmitterRef<AXConversationActionEvent>;
    onReplyClick: _angular_core.OutputEmitterRef<AXClickEvent>;
    onScrollEnd: _angular_core.OutputEmitterRef<AXEvent>;
    /**
     * Updates the previous items in the conversation by prepending new items to the beginning of the chat list.
     *
     * @param item - Array of items to prepend to the conversation.
     */
    updatePrevItems(item: any[]): void;
    /**
     * Calls for an update by emitting the onScrollEnd event.
     */
    callForUpdate(): void;
    /**
     * Adds a new item to the end of the conversation chat list.
     *
     * @param item - The item to add to the conversation.
     */
    addNewItem(item: any): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationViewComponent, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXConversationViewComponent, "ax-conversation-view", never, { "chatBoxHeight": { "alias": "chatBoxHeight"; "required": false; "isSignal": true; }; "isReplyArrowShown": { "alias": "isReplyArrowShown"; "required": false; "isSignal": true; }; "avatar": { "alias": "avatar"; "required": false; "isSignal": true; }; }, { "onActionMenuOpening": "onActionMenuOpening"; "onAction": "onAction"; "onReplyClick": "onReplyClick"; "onScrollEnd": "onScrollEnd"; }, never, never, true, never>;
}

interface AXChatModuleConfig {
    types: AXConversationMessageType[];
}
declare class AXConversationModule {
    static forRoot(config?: AXChatModuleConfig): ModuleWithProviders<AXConversationModule>;
    static forChild(config?: AXChatModuleConfig): ModuleWithProviders<AXConversationModule>;
    /**
     * @ignore
     */
    constructor();
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXConversationModule, never>;
    static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXConversationModule, never, [typeof i1.CommonModule, typeof i2.FormsModule, typeof i1.AsyncPipe, typeof i3.AXRippleDirective, typeof i4.AXButtonModule, typeof i5.AXDecoratorModule, typeof i6.AXTranslationModule, typeof i7.AXDropdownModule, typeof i8.AXFormatModule, typeof i9.AXAudioWaveModule, typeof i10.AXCircularProgressModule, typeof i11.AXDateTimeModule, typeof i12.CdkPortalOutlet, typeof i13.AXLoadingModule, typeof i14.AXAvatarModule, typeof i15.AXPopoverModule, typeof i16.AXFileModule, typeof i17.AXRangeSliderModule, typeof i18.AXVirtualScrollModule, typeof AXConversationViewComponent, typeof AXConversationInputComponent, typeof AXConversationMessageComponent, typeof AXConversationTextMessageComponent, typeof AXConversationVoiceMessageComponent, typeof AXConversationFileMessageComponent, typeof AXConversationContainerComponent, typeof AXConversationMessageAudioComponent, typeof AXConversationMessageImageComponent, typeof AXConversationMessageVideoComponent], [typeof AXConversationViewComponent, typeof AXConversationInputComponent, typeof AXConversationMessageComponent, typeof AXConversationTextMessageComponent, typeof AXConversationVoiceMessageComponent, typeof AXConversationFileMessageComponent, typeof AXConversationContainerComponent, typeof AXConversationMessageAudioComponent, typeof AXConversationMessageImageComponent, typeof AXConversationMessageVideoComponent]>;
    static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXConversationModule>;
}

export { AXConversationActionEvent, AXConversationContainerComponent, AXConversationFileMessageComponent, AXConversationInputComponent, AXConversationMenuOpeningEvent, AXConversationMessageAction, AXConversationMessageAudioComponent, AXConversationMessageBaseComponent, AXConversationMessageComponent, AXConversationMessageImageComponent, AXConversationMessageVideoComponent, AXConversationModule, AXConversationTextMessageComponent, AXConversationViewComponent, AXConversationVoiceMessageComponent, AXRecordingService, ConversationMessageImagePopupComponent };
export type { AXAudioRecorder, AXChatModuleConfig, AXConversationMessage, AXConversationMessageType, AXInputFileChange };
