///
import { Request } from '@loopback/rest';
import { DailyCheckInsService, DiPatientCaregiverUserService, ExploreService, MoodFactorLogsService, PatientOthersDetailsService } from '../services';
import { IAuthUserWithPermissions, SuccessResponse } from '@sourcefuse-npm/alivio-lib';
import { BpmConfig, EngagementExplore, Explore } from '../models';
import { Patient, PatientOnboardingService, PatientService, UsersService } from '@sourcefuse-npm/patient-facade';
import { ContentPosts } from '../models/content-posts.model';
export declare class ExploreController {
dailyCheckIns: DailyCheckInsService;
protected patientService: PatientService;
protected moodFactorLogsService: MoodFactorLogsService;
protected usersService: UsersService;
protected patientOnbService: PatientOnboardingService;
protected readonly exploreService: ExploreService;
protected readonly patientCgUserService: DiPatientCaregiverUserService;
protected readonly patientOthersDetailsService: PatientOthersDetailsService;
constructor(dailyCheckIns: DailyCheckInsService, patientService: PatientService, moodFactorLogsService: MoodFactorLogsService, usersService: UsersService, patientOnbService: PatientOnboardingService, exploreService: ExploreService, patientCgUserService: DiPatientCaregiverUserService, patientOthersDetailsService: PatientOthersDetailsService);
getEngagementExplore(patientId: number, token: string, currentUser: IAuthUserWithPermissions): Promise;
getEngagementExploreRecommend(patientId: number, token: string, currentUser: IAuthUserWithPermissions): Promise;
getExploreRecommend(patientId: number, segment: string, type: string, token: string, request: Request, currentUser: IAuthUserWithPermissions): Promise;
gerenateSypotomPosts(engagementExplore: EngagementExplore[], symptoms: string[]): EngagementExplore[];
generateSinglePost(engagementExplore: EngagementExplore[], savedPosts: ContentPosts[], segment: string, type: string, reccurence: string, patientRes: Patient, token: string): Promise;
generateMultiplePost(engagementExplore: EngagementExplore[], savedPosts: ContentPosts[], segment: string, type: string, reccurence: string, patientRes: Patient, token: string): Promise;
selectContentPieceBasedOnDisease(engagementExploreData: EngagementExplore[], diagaonosis: string): EngagementExplore[];
findIndex(savedIds: number[], actualIds: number[]): number;
findOnBoardData(patientUserInfo: any, patientId: number, segment: string, type: string, token: string): Promise;
updateById(id: number, post: ContentPosts, token: string): Promise;
getPostFromExploreSegement(patientResp: any, reccurence: string, dailyBpmConfig: BpmConfig, type: string, segment: string, patientId: number, token: string): Promise<{
today: Explore;
previousPosts: Explore[];
} | undefined>;
getExploreOnCheckin(patientId: number, token: string): Promise;
}