import { AuthManager } from '../auth/AuthManager';
import { Group, GroupListResponse, GroupCreateRequest, GroupMembersResponse, GroupMembersRequest, GroupAppsRequest, GroupAppsDisassociateRequest, GroupProfilesRequest, GroupMoveRequest, GroupMoveResponse, GroupIncludeType } from './types';
export declare class GroupsAPI {
    private readonly baseUrl;
    private readonly authManager;
    private readonly accountsServer;
    constructor(baseUrl: string, authManager: AuthManager, accountsServer: string);
    private getHeaders;
    listGroups(): Promise<GroupListResponse>;
    createGroup(group: GroupCreateRequest): Promise<Group>;
    getGroup(groupId: string, include?: GroupIncludeType): Promise<Group>;
    deleteGroup(groupId: string): Promise<void>;
    getGroupMembers(groupId: string, include?: 'memberdetails'): Promise<GroupMembersResponse>;
    addGroupMembers(groupId: string, request: GroupMembersRequest): Promise<GroupMembersResponse>;
    removeGroupMembers(groupId: string, request: GroupMembersRequest): Promise<GroupMembersResponse>;
    moveDevicesToGroups(groupId: string, request: GroupMoveRequest): Promise<GroupMoveResponse>;
    associateApps(groupId: string, request: GroupAppsRequest): Promise<void>;
    disassociateApps(groupId: string, request: GroupAppsDisassociateRequest): Promise<void>;
    associateProfiles(groupId: string, request: GroupProfilesRequest): Promise<void>;
    disassociateProfiles(groupId: string, request: GroupProfilesRequest): Promise<void>;
}
