import { Domain } from '@things-factory/shell'; import { User } from '@things-factory/auth-base'; /** * Label Studio Community Edition 권한 * Community Edition은 Django의 is_superuser 플래그만 사용 */ export interface LabelStudioPermissions { is_superuser: boolean; is_staff: boolean; is_active: boolean; } /** * Things-Factory Role → Label Studio Permissions 매핑 * Community Edition용 (2단계 권한) */ export declare class LabelStudioRoleMapper { /** * Things-Factory 사용자의 권한을 분석하여 Label Studio 권한 결정 * * 매핑 규칙: * 1. privilege category에 'label-studio'가 포함되어 있으면 → Staff 권한 * 2. user.admin === true 이면 → Admin 권한 * * @param user Things-Factory 사용자 * @returns Label Studio 권한 (is_superuser, is_staff, is_active) */ static mapUserPermissions(domain: Domain, user: User): Promise; /** * Label Studio 권한 설명 반환 (디버깅/로깅용) * * @param permissions Label Studio 권한 * @returns 권한 설명 */ static getPermissionsDescription(permissions: LabelStudioPermissions): string; }