import { OnModuleInit, OnModuleDestroy } from '@nestjs/common';
import { AuthOptions } from '../auth.module';
import { DatabaseService } from '../../database/database.service';
import { MessagingService } from '../../messaging/messaging.service';
import { CacheService } from '../../cache/cache.service';
export declare class AuthSyncService implements OnModuleInit, OnModuleDestroy {
    private readonly options;
    private readonly databaseService;
    private readonly messagingService;
    private readonly cacheService;
    private readonly logger;
    private syncInterval;
    private isSyncing;
    constructor(options: AuthOptions, databaseService: DatabaseService, messagingService: MessagingService, cacheService: CacheService);
    onModuleInit(): void;
    private setupPolling;
    private setupEventListeners;
    syncAuthData(data?: any): Promise<void>;
    private syncAllAuthData;
    private syncUser;
    private removeUser;
    private syncRoles;
    private syncPermissions;
    private syncRole;
    private syncUsersWithRole;
    private syncAllUsers;
    private syncAllRoles;
    private syncAllPermissions;
    private invalidateToken;
    onModuleDestroy(): void;
}
