import { EduUserStruct } from '../user/struct';
export declare type Progress = {
    userUuid: string;
    ts: number;
};
export declare enum CoVideoAction {
    studentHandsUp = 1,
    teacherAccept = 2,
    teacherRefuse = 3,
    studentCancel = 4,
    studentOffStage = 6,
    teacherReplayTimeout = 7,
    carousel = 10
}
declare type Operator = {
    role: string;
    userName: string;
    userUuid: string;
};
declare type Cause = {
    cmd: number;
    data: {
        processUuid: string;
        addProgress: Progress[];
        addAccepted: Progress[];
        removeProgress: Progress[];
        removeAccepted: Progress[];
        actionType: CoVideoAction;
        cmd: number;
        extAppCause: any;
    };
};
declare type Delegate = {
    getUserById(userUuid: string): EduUserStruct | undefined;
    getCurrentSceneId(): string;
};
declare class CMDHandler {
    private _delegate;
    constructor(_delegate: Delegate);
    exec(operator: Operator, cause: Cause, changedProperties: any, sceneId: string): void;
    private handleHandup;
}
export default CMDHandler;
