import { IImageNotifyArgs } from '../base/interface';
import { Uploader } from '@syncfusion/ej2-inputs';
import { Dialog } from '@syncfusion/ej2-popups';
import { PopupUploader } from './popup-uploader-renderer';
/**
 * `Audio` module is used to handle audio actions.
 */
export declare class Audio {
    element: HTMLElement;
    private rteID;
    private parent;
    dialogObj: Dialog;
    uploadObj: Uploader;
    private popupObj;
    popupUploaderObj: PopupUploader;
    private button;
    private i10n;
    private inputUrl;
    private uploadUrl;
    private contentModule;
    private rendererFactory;
    private quickToolObj;
    private audEle;
    private isAudioUploaded;
    private isAllowedTypes;
    private dialogRenderObj;
    private deletedAudio;
    private removingAudioName;
    private prevSelectedAudEle;
    private showPopupTime;
    private isDestroyed;
    private audioDragPopupTime;
    private showAudioQTbarTime;
    isAudioRemoved: boolean;
    isAudioClicked: boolean;
    private onDocumentClickBoundFn;
    private inputUrlHandler;
    private constructor();
    protected addEventListener(): void;
    protected removeEventListener(): void;
    private bindOnEnd;
    private afterRender;
    private onPropertyChanged;
    private checkAudioBack;
    private checkAudioDel;
    private undoStack;
    private touchStart;
    private onToolbarAction;
    private onKeyUp;
    private onKeyDown;
    private handleSelectAll;
    private openDialog;
    private showDialog;
    private closeDialog;
    private deleteAudio;
    private audioRemovePost;
    private triggerPost;
    private audioClick;
    private onDocumentClick;
    private alignmentSelect;
    private break;
    private inline;
    private editAreaClickHandler;
    private isAudioElem;
    private showAudioQuickToolbar;
    hideAudioQuickToolbar(): void;
    private insertingAudio;
    private clearDialogObj;
    insertAudio(e: IImageNotifyArgs): void;
    private audioUrlPopup;
    private onInputUrl;
    private audioUpload;
    private checkExtension;
    private fileSelect;
    private dragEnter;
    private dragOver;
    private getAudioExtensionFromMime;
    /**
     * Used to set range When drop an audio
     *
     * @param {MediaDropEventArgs} args - specifies the audio arguments.
     * @returns {void}
     */
    private dragDrop;
    /**
     * Used to calculate range on internet explorer
     *
     * @param {number} x - specifies the x range.
     * @param {number} y - specifies the y range.
     * @returns {void}
     */
    private getDropRange;
    private insertDragAudio;
    private onSelect;
    /**
     * Rendering uploader and popup for drag and drop
     *
     * @param {DragEvent} dragEvent - specifies the event.
     * @param {HTMLAudioElement} audioElement - specifies the element.
     * @returns {void}
     */
    private uploadMethod;
    private audioPaste;
    private cancelDialog;
    private insertAudioUrl;
    /**
     * Destroys the ToolBar.
     *
     * @method destroy
     * @returns {void}
     * @hidden

     */
    destroy(): void;
    /**
     * For internal use only - Get the module name.
     *
     * @returns {void}
     * @hidden
     */
    private getModuleName;
}
