import { ConfigService } from '@nestjs/config';
export interface EntraUser {
    id: string;
    userPrincipalName: string;
    displayName: string;
    givenName?: string;
    surname?: string;
    mail?: string;
    mailNickname?: string;
    jobTitle?: string;
    department?: string;
    officeLocation?: string;
    mobilePhone?: string;
    businessPhones?: string[];
    employeeId?: string;
    accountEnabled: boolean;
    userType?: string;
    manager?: {
        id: string;
        displayName: string;
        mail?: string;
        userPrincipalName?: string;
    };
}
export declare class EntraService {
    private configService;
    private readonly logger;
    private client;
    constructor(configService: ConfigService);
    isEnabled(): boolean;
    getSyncGroupId(): string | undefined;
    private getClient;
    authenticatePassword(upn: string, password: string): Promise<boolean>;
    getAllUsers(): Promise<EntraUser[]>;
    getGroupMembers(groupId: string): Promise<EntraUser[]>;
    getUserByEmail(email: string): Promise<EntraUser | null>;
    addUserToGroup(groupId: string, userId: string): Promise<{
        alreadyMember: boolean;
    }>;
    testConnection(): Promise<boolean>;
}
