import { TRTCVideoResolution, TRTCVideoResolutionMode, Rect } from "../trtc_define";
export declare type TRTCMediaInfo = {
    id: string;
    rect: Rect;
    isSelected: boolean;
    zOrder?: number;
    origin: any;
};
declare class TRTCMediaMixingDesigner {
    private logPrefix;
    private container;
    private videoResolution;
    private resMode;
    private mixingVideoWidth;
    private mixingVideoHeight;
    private canExceedContainer;
    private eventEmitter;
    private mediaList;
    private moveAndResizeOverlay;
    private movableHandler;
    private resizableHandler;
    private selectedMediaIndex;
    private previewScale;
    private previewWidth;
    private previewHeight;
    private previewLeft;
    private previewTop;
    private newSelected;
    private clickedMediaSources;
    private oldSelectedIndex;
    private mousedownLeft;
    private mousedownTop;
    private eventButton;
    private resizeObserver;
    constructor(options: {
        view: HTMLElement;
        videoResolution: TRTCVideoResolution;
        resMode: TRTCVideoResolutionMode;
        canExceedContainer: boolean;
    });
    updateOptions(options: {
        videoResolution?: TRTCVideoResolution;
        resMode?: TRTCVideoResolutionMode;
    }): void;
    addMedia(media: TRTCMediaInfo): void;
    removeMedia(media: TRTCMediaInfo): void;
    updateMedia(media: TRTCMediaInfo): void;
    on(event: string, func: (...args: any[]) => void): void;
    off(event: string, func: (...args: any[]) => void): void;
    destroy(): void;
    private initMediaMovable;
    private initMediaResizable;
    private initContainerMouseEventHander;
    private initContainerResizeObserver;
    private onPreviewAreaResize;
    private updatePreviewProperty;
    private updateOverlay;
    private onMove;
    private onResize;
    private emitOnSelect;
    private onContainerMousedown;
    private onContainerMousemove;
    private onContainerMouseup;
    private onRightButtonClicked;
}
export default TRTCMediaMixingDesigner;
