import { PrismaService } from '../../prisma/prisma.service';
import { RegisterDto } from './dto/register.dto';
import { LoginDto } from './dto/login.dto';
import { ChangePasswordDto } from './dto/change-password.dto';
import { JwtService } from '@nestjs/jwt';
import { EncryptionService } from '../../common/services/encryption.service';
export declare class AuthService {
    private readonly prisma;
    private readonly jwtService;
    private readonly encryptionService;
    constructor(prisma: PrismaService, jwtService: JwtService, encryptionService: EncryptionService);
    register(dto: RegisterDto): Promise<{
        accessToken: string;
        business: {
            id: string;
            name: string;
            email: string;
            phone: string | null;
            walletAddress: string | null;
            status: string;
            subscriptionStatus: string;
            subscriptionPlan: string;
            onboardingStep: string;
            selectedPlan: string | null;
            trialEnd: Date | null;
        };
    }>;
    login(dto: LoginDto): Promise<{
        accessToken: string;
        business: {
            id: string;
            name: string;
            email: string;
            phone: string | null;
            walletAddress: string | null;
            status: string;
            subscriptionStatus: string;
            subscriptionPlan: string;
            onboardingStep: string;
            selectedPlan: string | null;
            trialEnd: Date | null;
        };
    }>;
    validateBusiness(id: string): Promise<{
        id: string;
        name: string;
        email: string;
        phone: string | null;
        walletAddress: string | null;
        status: string;
        subscriptionStatus: string;
        subscriptionPlan: string;
        onboardingStep: string;
        selectedPlan: string | null;
        trialEnd: Date | null;
        latitude: number | null;
        longitude: number | null;
        createdAt: Date;
    } | null>;
    updateProfile(id: string, dto: {
        name: string;
        contactPhone?: string;
        walletAddress?: string;
        latitude?: number;
        longitude?: number;
    }): Promise<{
        success: boolean;
        business: {
            id: string;
            name: string;
            email: string;
            phone: string | null;
            walletAddress: string | null;
            latitude: number | null;
            longitude: number | null;
        };
    }>;
    changePassword(id: string, dto: ChangePasswordDto): Promise<{
        success: boolean;
        message: string;
    }>;
}
