import { AgoraRteEngine, AgoraRteScene } from '../../imports';
import { FcrCoreEngineConfig, FcrGroupCreateConfig, FcrGroupInfo, FcrGroupObserver, FcrGroupUpdateOptions } from '../../type';
import { FcrCoreServiceApi } from '../../service/api';
export declare class FcrGroupControl {
    private _engine;
    private _scene;
    private _api;
    private _config;
    private _observable;
    constructor(_engine: AgoraRteEngine, _scene: AgoraRteScene, _api: FcrCoreServiceApi, _config: FcrCoreEngineConfig);
    private _addSceneObserver;
    private _getGroupDetails;
    getGroupList(): FcrGroupInfo[];
    getGroupUserList(groupId: string): string[];
    addGroups(groups: FcrGroupCreateConfig[]): Promise<void>;
    updateGroups(groups: FcrGroupUpdateOptions[]): Promise<void>;
    deleteGroups(groupIds: string[]): Promise<void>;
    deleteAllGroups(): Promise<void>;
    addUsers(userList: string[], groupId: string): Promise<void>;
    removeUsers(userList: string[], groupId: string): Promise<void>;
    moveUsers(userList: string[], fromGroupId: string, toGroupId: string): Promise<void>;
    addObserver(observer: FcrGroupObserver): void;
    removeObserver(observer: FcrGroupObserver): void;
    private _addLogObserver;
}
