import { ConfigService } from '@nestjs/config';
import { Model } from 'mongoose';
import { NotificationType, TripStatus } from '../common/constants/enums';
import { UserDocument } from '../users/schemas/user.schema';
import { NotificationDocument } from './schemas/notification.schema';
export declare class NotificationsService {
    private readonly notificationModel;
    private readonly userModel;
    private readonly config;
    private readonly logger;
    private fcmInitialized;
    constructor(notificationModel: Model<NotificationDocument>, userModel: Model<UserDocument>, config: ConfigService);
    private initFcm;
    sendToUser(userId: string, type: NotificationType, title: string, body: string, data?: Record<string, string>): Promise<void>;
    notifyManagers(userId: string, type: NotificationType, title: string, body: string): Promise<void>;
    onTripStatus(trip: {
        tripId: string;
        userId: string;
        status: TripStatus;
    }): Promise<void>;
    onEmployeeOffline(payload: {
        userId: string;
    }): Promise<void>;
}
