import { ApiListPromise } from '@sinch/sdk-client'; import { CreateGroupRequestData, DeleteGroupRequestData, GetGroupRequestData, ListGroupsRequestData, ListMembersRequestData, ReplaceGroupRequestData, UpdateGroupRequestData, Group } from '../../../models'; import { SmsDomainApi } from '../sms-domain-api'; import { LazySmsApiClient } from '../sms-service'; export declare class GroupsApi extends SmsDomainApi { constructor(lazyClient: LazySmsApiClient); /** * Create a group * A group is a set of phone numbers (MSISDNs) that can be used as a target in the `send_batch_msg` operation. An MSISDN can only occur once in a group and any attempts to add a duplicate would be ignored but not rejected. * @param { CreateGroupRequestData } data - The data to provide to the API call. */ create(data: CreateGroupRequestData): Promise; /** * Delete a group * This operation deletes the group with the provided group ID. * @param { DeleteGroupRequestData } data - The data to provide to the API call. */ delete(data: DeleteGroupRequestData): Promise; /** * Get phone numbers for a group * This operation retrieves the members of the group with the provided group ID. * @param { ListMembersRequestData } data - The data to provide to the API call. */ listMembers(data: ListMembersRequestData): Promise; /** * List Groups * With the list operation you can list all groups that you have created. This operation supports pagination. Groups are returned in reverse chronological order. * @param { ListGroupsRequestData } data - The data to provide to the API call. * @return {ApiListPromise} */ list(data?: ListGroupsRequestData): ApiListPromise; /** * Replace a group * The replace operation will replace all parameters, including members, of an existing group with new values. Replacing a group targeted by a batch message scheduled in the future is allowed and changes will be reflected when the batch is sent. * @param { ReplaceGroupRequestData } data - The data to provide to the API call. */ replace(data: ReplaceGroupRequestData): Promise; /** * Retrieve a group * This operation retrieves a specific group with the provided group ID. * @param { GetGroupRequestData } data - The data to provide to the API call. */ get(data: GetGroupRequestData): Promise; /** * Update a group * With the update group operation, you can add and remove members in an existing group as well as rename the group. This method encompasses a few ways to update a group: 1. By using `add` and `remove` arrays containing phone numbers, you control the group movements. Any list of valid numbers in E.164 format can be added. 2. By using the `auto_update` object, your customer can add or remove themselves from groups. 3. You can also add or remove other groups into this group with `add_from_group` and `remove_from_group`. #### Other group update info - The request will not be rejected for duplicate adds or unknown removes. - The additions will be done before the deletions. If an phone number is on both lists, it will not be apart of the resulting group. - Updating a group targeted by a batch message scheduled in the future is allowed. Changes will be reflected when the batch is sent. * @param { UpdateGroupRequestData } data - The data to provide to the API call. */ update(data: UpdateGroupRequestData): Promise; }