import { Repository } from 'typeorm';
import { JwtService } from '@nestjs/jwt';
import { Contestant } from '../contestants/entities/contestant.entity';
import { Transaction } from '../transactions/entities/transaction.entity';
import { ContestantLoginDto } from './dto/contestant-login.dto';
export declare class ContestantAuthService {
    private contestantsRepository;
    private transactionsRepository;
    private jwtService;
    constructor(contestantsRepository: Repository<Contestant>, transactionsRepository: Repository<Transaction>, jwtService: JwtService);
    login(loginDto: ContestantLoginDto): Promise<{
        access_token: string;
        contestant: {
            id: string;
            name: string;
            school: string;
            photo_url: string;
            campaign: {
                id: string;
                title: string;
                slug: string;
            };
        };
    }>;
    getProfile(contestant: Contestant): Promise<{
        id: string;
        name: string;
        school: string;
        photo_url: string;
        total_votes: number;
        unique_voters: number;
        campaign: {
            id: string;
            title: string;
            slug: string;
        };
    }>;
    getMyVotes(contestant: Contestant, page?: number, limit?: number): Promise<{
        data: {
            id: string;
            voter_name: string;
            voter_email: string;
            voter_phone: string;
            votes: number;
            paid_at: Date;
        }[];
        meta: {
            total: number;
            page: number;
            limit: number;
            totalPages: number;
        };
    }>;
    changePassword(contestant: Contestant, currentPassword: string, newPassword: string): Promise<{
        message: string;
    }>;
    private maskEmail;
    private maskPhone;
}
