import { Future, GroupIdentity, GroupMembers, Identity, IdentityQuery, IResolvedIdentity, ItemQueryResult, ResolvedUserIdentity, UserIdentity, GuidValue, UserIdentityQuery } from "@omnia/fx-models";
export declare class IdentityService {
    private httpClient;
    private baseUrl;
    private archiveUrl;
    query(query: IdentityQuery): Future<ItemQueryResult<IResolvedIdentity>>;
    queryUsers(query: UserIdentityQuery): Future<ItemQueryResult<IResolvedIdentity>>;
    getSpecialIdentities(): Future<IResolvedIdentity[]>;
    resolveIdentities(identites: Identity[]): Future<{
        [uid: string]: IResolvedIdentity;
    }>;
    resolveUserIdentities(usernames: string[]): Future<{
        [username: string]: ResolvedUserIdentity;
    }>;
    resolveUserIdentitiesByEmails(emails: string[]): Future<{
        [email: string]: ResolvedUserIdentity;
    }>;
    checkUserMemberOfGroups(user: UserIdentity, groups: GroupIdentity[]): Future<{
        [groupUid: string]: boolean;
    }>;
    getUserGroups(user: UserIdentity): Future<GroupIdentity[]>;
    getGroupsMembers: (groups: GroupIdentity[]) => Future<{
        [groupIdentityUid: string]: GroupMembers;
    }>;
    getIdentitiesWithProviderIdentities: (providerId: GuidValue, userIds: GuidValue[]) => Future<{
        [userIdentityUid: string]: Identity;
    }>;
    queryArchive(query: IdentityQuery): Future<ItemQueryResult<IResolvedIdentity>>;
    resolveArchivedUserIdentities(identites: Identity[]): Future<{
        [uid: string]: IResolvedIdentity;
    }>;
}
