import { Achievement } from './entities/achievement.entity';
import { Repository } from 'typeorm';
import { UserAchievement } from './entities/user-achievement.entity';
import { StreakRepository } from 'src/streaks/streaks.repository';
export declare class AchievementRepository {
    private readonly achievementRepository;
    private readonly userAchievementRepository;
    private readonly userStreakRepository;
    constructor(achievementRepository: Repository<Achievement>, userAchievementRepository: Repository<UserAchievement>, userStreakRepository: StreakRepository);
    getAllAchievements(take?: number, skip?: number, key?: string, order?: any, headers?: any): Promise<{
        count: number;
        data: Achievement[];
    }>;
    findById(id: string): Promise<Achievement>;
    findAllUserAchievement(take?: number, skip?: number, userId?: string, date?: string): Promise<{
        achievements: {
            achievement_count: number;
            achievement_data: {
                id: string;
                name: string;
                status: number;
                created_at: Date;
                is_achieved: boolean;
            }[];
        };
        streaks: {
            streak_count: number;
            streak_data: {
                id: string;
                streak_count: string;
                status: number;
                created_at: Date;
                is_achieved: boolean;
            }[];
        };
    }>;
    findAllAchievement(take: number, skip: number, key?: string, order?: any, search?: string, recent?: boolean, province?: string): Promise<{
        count: number;
        achievement: UserAchievement[];
    }>;
    isUnique(name: string, excludeId?: string): Promise<boolean>;
}
