import { Client } from '@microsoft/microsoft-graph-client';
import { IAuthService } from './authInterface.js';
interface AuthConfig {
    clientId: string;
    tenantId: string;
    tokenRefresh: {
        bufferMinutes: number;
        checkIntervalMinutes: number;
        autoRefreshEnabled: boolean;
    };
}
export declare class AuthService implements IAuthService {
    private msalClient;
    private tokenCache;
    private cacheFilePath;
    private refreshTimer?;
    private config;
    constructor(config: AuthConfig);
    private loadTokenCache;
    private saveTokenCache;
    getTokenForUser(userEmail: string): Promise<string>;
    private cacheToken;
    forceTokenRefresh(userEmail: string): Promise<string>;
    clearTokenCache(userEmail: string): Promise<void>;
    clearAllTokens(): Promise<void>;
    startProactiveRefresh(bufferMinutes?: number, checkIntervalMinutes?: number): void;
    stopProactiveRefresh(): void;
    private refreshExpiringTokens;
    getTokensNeedingRefresh(bufferMinutes?: number): string[];
    getGraphClient(accessToken: string): Client;
}
export {};
//# sourceMappingURL=authService.d.ts.map