import type { AgoraRteScene } from '../../imports';
import { FcrPermissionAction, FcrPermissionInfo, FcrPrivilegeObserver } from './type';
import { FcrRoomCache } from '../shared-cache';
export declare class FcrPermission {
    module: string;
    action: FcrPermissionAction;
    conditions: Record<string, string[]>;
    targetRoles: string[];
    constructor(module: string, action: FcrPermissionAction, conditions: Record<string, string[]>, targetRoles: string[]);
    static fromString(permission: string): FcrPermission;
}
export declare const getLocalUserPermissionInfo: (scene: AgoraRteScene, action: FcrPermissionAction) => FcrPermissionInfo;
export declare const addLocalUserPermissionObserver: (scene: AgoraRteScene, observer: Pick<FcrPrivilegeObserver, "onLocalUserPermissionInfoAdded" | "onLocalUserPermissionInfoDeleted">, cache: FcrRoomCache) => void;
