import { ResolvedDynamicGroupIdentity, DynamicGroupIdentity, UserType, Future, GuidValue, TextPropertyValue, MultilingualTextPropertyValue, DynamicGroupRuleSet } from "../../models";
export declare class DynamicGroupService {
    private httpClient;
    private apiManagementBase;
    private apiIdentityBase;
    getAll: () => Future<ResolvedDynamicGroupIdentity[]>;
    resolveRuleSets: (dynamicgroups: DynamicGroupIdentity[]) => Future<{
        [uid: string]: DynamicGroupRuleSet;
    }>;
    addOrUpdate: (addOrUpdateRequest: DynamicGroupIdentityAddOrUpdateRequest) => Future<ResolvedDynamicGroupIdentity>;
    reorder: (dynamicGroups: DynamicGroupIdentity[]) => Future<ResolvedDynamicGroupIdentity[]>;
    delete: (dynamicGroup: DynamicGroupIdentity) => Future<void>;
    getAllDeleted: () => Promise<{
        total: number;
        value: ResolvedDynamicGroupIdentity[];
    }>;
    restore: (identity: DynamicGroupIdentity) => Promise<void>;
    purge: (identity: DynamicGroupIdentity) => Promise<void>;
}
export interface DynamicGroupIdentityAddOrUpdateRequest {
    id: GuidValue;
    displayName: MultilingualTextPropertyValue;
    description: MultilingualTextPropertyValue;
    externalIdentityMappings: TextPropertyValue;
    userTypes: Array<UserType>;
}
