import { RefObject } from 'react';
import { DraggableData, Rnd, RndDragEvent } from 'react-rnd';
/**
 * pagniation control, update published user list when user scroll into page
 */
export declare const useVideoPage: () => {
    streamList: import("../../../../stores/common/stream/struct").EduStreamUI[];
    setPageSize: (pageSize: number) => void;
    totalPageNum: number;
};
export declare enum ForceDirection {
    RightToLeft = "left",
    LeftToRight = "right",
    TopToBottom = "bottom",
    BottomToTop = "top"
}
declare type DragOutCallback = (forceDirection: ForceDirection) => void;
/**
 * analyze whether the target moved out of bounds and how it is being moved out
 */
export declare const useDragAnalyzer: ({ bounds, rnd, onDragOutDetect, detectMovement, }: {
    bounds: string;
    rnd: RefObject<Rnd>;
    onDragOutDetect: DragOutCallback;
    detectMovement: number;
}) => {
    eventHandlers: {
        onDragStart: (e: RndDragEvent, data: DraggableData) => void;
        onDragStop: (e: RndDragEvent, data: DraggableData) => void;
        onDrag: (e: RndDragEvent, data: DraggableData) => void;
    };
};
export {};
