import { HttpClient } from '@angular/common/http'; import { Observable } from 'rxjs'; import { ValtechAuthConfig } from '../auth/types'; import { ValGroup, ValGroupMember, CreateGroupRequest, UpdateGroupRequest, AddGroupMemberRequest, MyGroupsResponse } from './types'; import * as i0 from "@angular/core"; /** * Cliente de `/v2/groups/*` (ADR-083). Servicio de PLATAFORMA: no sabe qué es * un blueprint ni un refugio, solo agrupa recursos y personas. Cada app lo * consume igual — es lo que evita reescribir esta capa por producto. */ export declare class GroupsService { private config; private http; constructor(config: ValtechAuthConfig, http: HttpClient); private get baseUrl(); /** Grupos activos de la organización (filtrados por app en el backend). */ listGroups(): Observable; /** Incluye archivados: para la pantalla de administración. */ listAllGroups(): Observable; getGroup(id: string): Observable; createGroup(req: CreateGroupRequest): Observable; updateGroup(id: string, req: UpdateGroupRequest): Observable; /** * No hay `deleteGroup`: el ADR-083 decidió que un servicio de plataforma no * puede saber si un vertical todavía apunta al grupo, y como "sin grupo" * significa visible para toda la organización, borrarlo publicaría sus * recursos a la planta entera. `archiveGroup`/`restoreGroup` cubren la * necesidad real sin ese riesgo. */ archiveGroup(id: string): Observable; restoreGroup(id: string): Observable; listMembers(groupId: string): Observable; addMember(groupId: string, req: AddGroupMemberRequest): Observable; removeMember(groupId: string, userId: string): Observable; /** Los grupos del usuario actual. Referencial: el filtrado real corre en el backend. */ myGroups(): Observable; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }