/**
 * Zalo Personal Group Management Service
 * 100% khớp với automation-web/src/module/zalo-group/controllers/zalo-group.controller.ts
 * Đã thêm đầy đủ 19 methods để đồng bộ hoàn toàn với backend controller
 */
import { HttpClient } from '../../utils/http.utils';
import { AutomationWebResponse } from '../../types/common.types';
import { GetGroupInfoRequest, CreateGroupRequest, AddMemberToGroupRequest, RemoveMemberFromGroupRequest, ChangeGroupNameRequest, GetGroupMembersRequest, LeaveGroupRequest, DisperseGroupRequest, JoinGroupRequest, ChangeGroupAvatarRequest, UpdateGroupSettingsRequest, ChangeGroupOwnerRequest, AddGroupDeputyRequest, RemoveGroupDeputyRequest, EnableGroupLinkRequest, DisableGroupLinkRequest, GetGroupLinkInfoRequest, InviteUserToGroupsRequest, GetAllGroupsResponse, GetGroupInfoResponse, CreateGroupResponse, AddMemberResponse, RemoveMemberResponse, ChangeGroupNameResponse, GetGroupMembersResponse, GroupActionResponse, ChangeGroupAvatarResponse, UpdateGroupSettingsResponse, ChangeGroupOwnerResponse, AddGroupDeputyResponse, RemoveGroupDeputyResponse, EnableGroupLinkResponse, DisableGroupLinkResponse, GetGroupLinkInfoResponse, InviteUserToGroupsResponse, GetAllGroupsDto } from '@/types/dto/groups.type';
/**
 * Zalo Personal Group Management Service Class
 * 100% khớp với automation-web ZaloGroupController
 * Bao gồm đầy đủ 19 methods: 15 cơ bản + 4 advanced link/invite
 */
export declare class GroupService {
    private httpClient;
    constructor(httpClient: HttpClient);
    /**
     * Lấy tất cả groups
     * POST /zalo-personal/groups/all
     */
    getAllGroups(request: GetAllGroupsDto): Promise<AutomationWebResponse<GetAllGroupsResponse>>;
    /**
     * Lấy thông tin chi tiết của group
     * POST /zalo-personal/groups/info
     */
    getGroupInfo(request: GetGroupInfoRequest): Promise<AutomationWebResponse<GetGroupInfoResponse>>;
    /**
     * Tạo group mới
     * POST /zalo-personal/groups/create
     */
    createGroup(request: CreateGroupRequest): Promise<AutomationWebResponse<CreateGroupResponse>>;
    /**
     * Thêm member vào group
     * POST /zalo-personal/groups/add-members
     */
    addMemberToGroup(request: AddMemberToGroupRequest): Promise<AutomationWebResponse<AddMemberResponse>>;
    /**
     * Remove member khỏi group
     * POST /zalo-personal/groups/remove-member
     */
    removeMemberFromGroup(request: RemoveMemberFromGroupRequest): Promise<AutomationWebResponse<RemoveMemberResponse>>;
    /**
     * Đổi tên group
     * PUT /zalo-personal/groups/change-name
     */
    changeGroupName(request: ChangeGroupNameRequest): Promise<AutomationWebResponse<ChangeGroupNameResponse>>;
    /**
     * Lấy danh sách members của group
     * POST /zalo-personal/groups/members
     * Nếu không truyền page/limit thì sẽ lấy tất cả members
     */
    getGroupMembers(request: GetGroupMembersRequest): Promise<AutomationWebResponse<GetGroupMembersResponse>>;
    /**
     * Rời nhóm
     * POST /zalo-personal/groups/leave
     */
    leaveGroup(request: LeaveGroupRequest): Promise<AutomationWebResponse<GroupActionResponse>>;
    /**
     * Giải tán nhóm
     * DELETE /zalo-personal/groups/disperse
     */
    disperseGroup(request: DisperseGroupRequest): Promise<AutomationWebResponse<GroupActionResponse>>;
    /**
     * Tham gia nhóm qua link
     * POST /zalo-personal/groups/join
     */
    joinGroup(request: JoinGroupRequest): Promise<AutomationWebResponse<GroupActionResponse>>;
    /**
     * Đổi avatar nhóm
     * PUT /zalo-personal/groups/change-avatar
     */
    changeGroupAvatar(request: ChangeGroupAvatarRequest): Promise<AutomationWebResponse<ChangeGroupAvatarResponse>>;
    /**
     * Cập nhật cài đặt nhóm
     * PUT /zalo-personal/groups/update-settings
     */
    updateGroupSettings(request: UpdateGroupSettingsRequest): Promise<AutomationWebResponse<UpdateGroupSettingsResponse>>;
    /**
     * Chuyển quyền owner nhóm
     * POST /zalo-personal/groups/change-owner
     */
    changeGroupOwner(request: ChangeGroupOwnerRequest): Promise<AutomationWebResponse<ChangeGroupOwnerResponse>>;
    /**
     * Thêm phó admin
     * POST /zalo-personal/groups/add-deputy
     */
    addGroupDeputy(request: AddGroupDeputyRequest): Promise<AutomationWebResponse<AddGroupDeputyResponse>>;
    /**
     * Xóa phó admin
     * POST /zalo-personal/groups/remove-deputy
     */
    removeGroupDeputy(request: RemoveGroupDeputyRequest): Promise<AutomationWebResponse<RemoveGroupDeputyResponse>>;
    /**
     * Enable group link
     * POST /zalo-personal/groups/enable-link
     */
    enableGroupLink(request: EnableGroupLinkRequest): Promise<AutomationWebResponse<EnableGroupLinkResponse>>;
    /**
     * Disable group link
     * POST /zalo-personal/groups/disable-link
     */
    disableGroupLink(request: DisableGroupLinkRequest): Promise<AutomationWebResponse<DisableGroupLinkResponse>>;
    /**
     * Get group link info
     * POST /zalo-personal/groups/link-info
     */
    getGroupLinkInfo(request: GetGroupLinkInfoRequest): Promise<AutomationWebResponse<GetGroupLinkInfoResponse>>;
    /**
     * Invite user to multiple groups
     * POST /zalo-personal/groups/invite-to-groups
     */
    inviteUserToGroups(request: InviteUserToGroupsRequest): Promise<AutomationWebResponse<InviteUserToGroupsResponse>>;
}
//# sourceMappingURL=groups.service.d.ts.map