import { FcmService } from './fcm.service';
import { BaseTenantService } from '@/common/base/service/base-crud.service';
import { TenantConnectionService } from '../tenant/tenant-connection.service';
import { RegisterDeviceDto, SyncScheduleDto, SendToUserDto } from './dto/index.dto';
import { UserNotification } from './entities/notification.entity';
export declare class NotificationsService extends BaseTenantService<UserNotification> {
    protected tenantConnectionService: TenantConnectionService;
    private readonly fcmService;
    protected entity: typeof UserNotification;
    private readonly logger;
    constructor(tenantConnectionService: TenantConnectionService, fcmService: FcmService);
    private getNotificationRepo;
    private getDeviceRepo;
    registerDevice(userId: number, dto: RegisterDeviceDto): Promise<void>;
    syncSchedule(userId: number, dto: SyncScheduleDto): Promise<void>;
    testTrigger(pushToken: string, locale: string, type: 'revenue' | 'timekeeping'): Promise<{
        success: boolean;
    }>;
    sendToUser(dto: SendToUserDto): Promise<{
        success: boolean;
        sent: number;
        failed: number;
    }>;
    runNotificationScan(): Promise<void>;
    private scanRevenue;
    private scanTimekeeping;
}
