import type { APIPromise } from "../../../core/api-promise.mjs"; import type { PagePromise } from "../../../core/pagination.mjs"; import type { RequestOptions } from "../../../internal/request-options.mjs"; import type { RipplingSDK } from "../../../client.mjs"; import type * as Shared from "../../../resources/shared.mjs"; import type { GroupMembersPageCursorURL } from "../../../resources/shared.mjs"; import type { ExclusionMemberListParams, ExclusionMemberUpdateParams, ExclusionMemberUpdateResponse } from "../../../resources/supergroups/exclusion-members.mjs"; import type { InclusionMemberListParams, InclusionMemberUpdateParams, InclusionMemberUpdateResponse } from "../../../resources/supergroups/inclusion-members.mjs"; import type { MemberListParams } from "../../../resources/supergroups/members.mjs"; import type { SupergroupRetrieveResponse } from "../../../resources/supergroups/supergroups.mjs"; import { Group, type GroupProps } from "../group.mjs"; /** Authenticated supergroup resources supplied per call. */ export interface GroupOperationsContext { readonly supergroups: { readonly retrieve: RipplingSDK['supergroups']['retrieve']; readonly members: Pick; readonly inclusionMembers: Pick; readonly exclusionMembers: Pick; }; } export interface GroupMembers { list(ctx: GroupOperationsContext, params?: MemberListParams, options?: RequestOptions): PagePromise; } export interface GroupInclusionMembers { list(ctx: GroupOperationsContext, params?: InclusionMemberListParams, options?: RequestOptions): PagePromise; update(ctx: GroupOperationsContext, body: InclusionMemberUpdateParams, options?: RequestOptions): APIPromise; } export interface GroupExclusionMembers { list(ctx: GroupOperationsContext, params?: ExclusionMemberListParams, options?: RequestOptions): PagePromise; update(ctx: GroupOperationsContext, body: ExclusionMemberUpdateParams, options?: RequestOptions): APIPromise; } export interface GroupOperations { retrieve(ctx: GroupOperationsContext, options?: RequestOptions): APIPromise; readonly members: GroupMembers; readonly inclusionMembers: GroupInclusionMembers; readonly exclusionMembers: GroupExclusionMembers; } export interface GroupReference extends GroupOperations { readonly id: string; } export interface GroupClient { retrieve(options?: RequestOptions): APIPromise; readonly members: { list(params?: MemberListParams, options?: RequestOptions): PagePromise; }; readonly inclusionMembers: { list(params?: InclusionMemberListParams, options?: RequestOptions): PagePromise; update(body: InclusionMemberUpdateParams, options?: RequestOptions): APIPromise; }; readonly exclusionMembers: { list(params?: ExclusionMemberListParams, options?: RequestOptions): PagePromise; update(body: ExclusionMemberUpdateParams, options?: RequestOptions): APIPromise; }; } /** Create an unregistered group configuration for reuse or embedding. */ export declare function defineGroup(props: GroupProps): DefinedGroup; export declare class DefinedGroup extends Group { withId(groupId: string): GroupReference; } /** @internal Creates a credential-free runtime reference to a deployed supergroup. */ export declare function createGroupReference(groupId: string): GroupReference; /** @internal Binds supergroup operations to an authenticated client context. */ export declare function createGroupClient(ctx: GroupOperationsContext, definition: GroupReference | string): GroupClient; //# sourceMappingURL=group.d.mts.map