// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. import { APIResource } from '../../core/resource'; import * as Shared from '../shared'; import { GroupMembersPageCursorURL } from '../shared'; import { APIPromise } from '../../core/api-promise'; import { PageCursorURL, PagePromise } from '../../core/pagination'; import { RequestOptions } from '../../internal/request-options'; import { path } from '../../internal/utils/path'; /** * Supergroups used by the company */ export class ExclusionMembers extends APIResource { /** * Retrieve supergroup exclusion members matching the input parameters. * * - Requires: `API Tier 1` * - Expandable fields: `worker` * - Sortable fields: `id`, `created_at`, `updated_at` */ list( groupID: string, query: ExclusionMemberListParams | null | undefined = {}, options?: RequestOptions, ): PagePromise { return this._client.getAPIList( path`/supergroups/${groupID}/exclusion-members/`, PageCursorURL, { query, ...options }, ); } /** * Update the list of supergroup exclusion members. */ update( groupID: string, body: ExclusionMemberUpdateParams | null | undefined = {}, options?: RequestOptions, ): APIPromise { return this._client.patch(path`/supergroups/${groupID}/exclusion-members/`, { body, ...options }); } } export interface ExclusionMemberUpdateResponse { /** * Whether the operation succeeded. */ ok?: boolean; } export interface ExclusionMemberListParams { expand?: string; order_by?: string; } export interface ExclusionMemberUpdateParams { Operations?: Array; } export namespace ExclusionMemberUpdateParams { export interface Operation { /** * add or remove */ op?: string; /** * The members to add or remove. */ value?: Array; } export namespace Operation { export interface Value { /** * A member id. */ id?: string; } } } export declare namespace ExclusionMembers { export { type ExclusionMemberUpdateResponse as ExclusionMemberUpdateResponse, type ExclusionMemberListParams as ExclusionMemberListParams, type ExclusionMemberUpdateParams as ExclusionMemberUpdateParams, }; } export { type GroupMembersPageCursorURL };