import React from "react";
/**
 * The type of a callback which will create the pip content children.
 */
export type CreatePipChildren = (options: IChildrenOptions) => JSX.Element;
interface IChildrenOptions {
    onStartMoving: (event: React.MouseEvent<Element, MouseEvent>) => void;
    onResize: (event: Event) => void;
}
interface IProps {
    className?: string;
    children: Array<CreatePipChildren>;
    draggable: boolean;
    onDoubleClick?: () => void;
    onMove?: () => void;
}
/**
 * PictureInPictureDragger shows a small version of CallView hovering over the UI in 'picture-in-picture'
 * (PiP mode). It displays the call(s) which is *not* in the room the user is currently viewing.
 */
export default class PictureInPictureDragger extends React.Component<IProps> {
    private callViewWrapper;
    private initX;
    private initY;
    private desiredTranslationX;
    private desiredTranslationY;
    private translationX;
    private translationY;
    private mouseHeld;
    private scheduledUpdate;
    private startingPositionX;
    private startingPositionY;
    private _moving;
    get moving(): boolean;
    private set moving(value);
    componentDidMount(): void;
    componentWillUnmount(): void;
    componentDidUpdate(prevProps: Readonly<IProps>): void;
    private animationCallback;
    private setStyle;
    private setTranslation;
    private onResize;
    private snap;
    private onStartMoving;
    private onMoving;
    private onEndMoving;
    private onClickCapture;
    render(): React.ReactNode;
}
export {};
