import { OnModuleInit } from '@nestjs/common'; import { ConfigService } from '@nestjs/config'; import { Repository } from 'typeorm'; import { UserDevice, NotificationLog } from '../entities'; export interface PushPayload { title: string; body: string; icon?: string; badge?: string; url?: string; data?: Record; actions?: Array<{ action: string; title: string; }>; } export interface SendResult { deviceId: string; success: boolean; error?: string; statusCode?: number; } export declare class PushNotificationService implements OnModuleInit { private readonly configService; private readonly deviceRepository; private readonly logRepository; private readonly logger; private isConfigured; constructor(configService: ConfigService, deviceRepository: Repository, logRepository: Repository); onModuleInit(): void; isEnabled(): boolean; getVapidPublicKey(): string | null; sendToUser(userId: string, tenantId: string, payload: PushPayload, notificationId?: string): Promise; sendToDevice(device: UserDevice, payload: string, notificationId?: string): Promise; sendBroadcast(tenantId: string, payload: PushPayload): Promise<{ total: number; successful: number; failed: number; }>; validateSubscription(subscriptionJson: string): boolean; }