import Base, { MaybeRaw } from "../../../../Base"; import { PaginatedResponse, SearchFilter, SearchParams, Sorting } from "../../../../interfaces/global"; import { Team, TeamQueryOptions, TeamUsersPatchOperation } from "../../../../interfaces/idp/organization/team"; import { ReducedUser } from "../../../../interfaces/idp/user"; export declare class IdpOrganizationTeams extends Base { /** * Creates a new Team in the specified Organization. * @param orgName Name of the Organization * @param teamName Name of the Team * @param userIds List of User IDs to be added to the Team * @returns The created Team */ createTeam(orgName: string, teamName: string, userIds: string[], raw?: { raw: R; }): Promise>; /** * Deletes a Team. * @param orgName Name of the Organization * @param teamName Name of the Team */ deleteTeam(orgName: string, teamName: string, raw?: { raw: R; }): Promise>; /** * Updates an existing Team. * @param orgName Name of the Organization * @param teamName Name of the Team * @param newName (optional) New Team name * @param userIds (optional) List of user IDs to be added to, deleted from or set to the Team depending on the parameter 'teamUserPatchOperation' * @param teamUsersPatchOperation (optional) Enum describing what operation shall be executed: Add, set or remove * @returns The updated Team object */ patchTeam(orgName: string, teamName: string, newName?: string, userIds?: string[], teamUsersPatchOperation?: TeamUsersPatchOperation, raw?: { raw: R; }): Promise>; /** * Retrieve a Team by its name. * @param orgName Name of the Organization * @param teamName Name of the Team * @returns The requested Team */ getTeam(orgName: string, teamName: string, raw?: { raw: R; }): Promise>; /** * Retrieves all Teams of an Organization that match the provided search filter(s). Returns all Teams if no search filter is provided. * @param organizationName Name of the organization * @param filters (optional) Array of search filters * @param sorting (optional) Sorting object * @param options (optional) Defines query options to retrieve additional properties for the returned Team objects. * @param limit (optional) Max number of results (1-100; defaults to 25) * @param page (optional) Page number: Skip the first (page * limit) results (defaults to 0) * @returns Object containing an array of Teams and the total number of results found in the database (independent of limit and page) */ searchTeams(params: { organizationName: string; filters: SearchFilter[]; sorting?: Sorting; options?: TeamQueryOptions; limit?: number; page?: number; }, raw?: { raw: R; }): Promise>>; /** * Retrieves all Members of a Team that match the provided search filter(s). Returns all Members if no search filter is provided. * @param organizationName Name of the organization * @param teamName Name of the Team * @param filters (optional) Array of search filters * @param sorting (optional) Sorting object * @param limit (optional) Max number of results (1-100; defaults to 25) * @param page (optional) Page number: Skip the first (page * limit) results (defaults to 0) * @returns Object containing an array of Team members and the total number of results found in the database (independent of limit and page) */ searchTeamMembers({ organizationName, teamName, filters, sorting, limit, page }: SearchParams & { organizationName: string; teamName: string; }, raw?: { raw: R; }): Promise>>; /** * Updates the avatar of the specified team * @param orgName Name of the organization * @param teamName Name of the Team * @param file Image as Javascript File * @returns Team details with updated avatar */ updateAvatar(orgName: string, teamName: string, file: File, raw?: { raw: R; }): Promise>; protected getEndpoint(endpoint: string): string; }