import { Response } from "express";
import { AuthService } from "./auth.service";
import { RegisterDto } from "./dto/register.dto";
import { LoginDto } from "./dto/login.dto";
import { VerifyEmailDto } from "./dto/verify-email.dto";
export declare class AuthController {
    private readonly authService;
    constructor(authService: AuthService);
    register(dto: RegisterDto): Promise<{
        message: string;
    }>;
    login(dto: LoginDto): Promise<{
        user: {
            id: string;
            role: import("./entities/role.entity").Role;
            role_id: string;
            email: string;
            phone: string;
            provider: string;
            is_verified: boolean;
            status: string;
            referral_code: string;
            referred_by: string;
            created_at: Date;
            updated_at: Date;
            profile: import("./entities/user-profile.entity").UserProfile;
        };
        accessToken: string;
        refreshToken: string;
        message: string;
    }>;
    verifyEmail(dto: VerifyEmailDto): Promise<{
        user: {
            id: string;
            role: import("./entities/role.entity").Role;
            role_id: string;
            email: string;
            phone: string;
            provider: string;
            is_verified: boolean;
            status: string;
            referral_code: string;
            referred_by: string;
            created_at: Date;
            updated_at: Date;
            profile: import("./entities/user-profile.entity").UserProfile;
        };
        accessToken: string;
        refreshToken: string;
        message: string;
    }>;
    googleAuth(): void;
    googleCallback(req: any, res: Response): Promise<void>;
    refresh(refreshToken: string): Promise<{
        user: {
            id: string;
            role: import("./entities/role.entity").Role;
            role_id: string;
            email: string;
            phone: string;
            provider: string;
            is_verified: boolean;
            status: string;
            referral_code: string;
            referred_by: string;
            created_at: Date;
            updated_at: Date;
            profile: import("./entities/user-profile.entity").UserProfile;
        };
        accessToken: string;
        refreshToken: string;
        message: string;
    }>;
    logout(refreshToken: string): Promise<{
        message: string;
    }>;
    getProfile(req: any): Promise<{
        message: string;
        user: {
            id: string;
            role: import("./entities/role.entity").Role;
            role_id: string;
            email: string;
            phone: string;
            provider: string;
            is_verified: boolean;
            status: string;
            referral_code: string;
            referred_by: string;
            created_at: Date;
            updated_at: Date;
            profile: import("./entities/user-profile.entity").UserProfile;
        };
    }>;
    selectPlan(req: any, planId: string): Promise<{
        message: string;
    }>;
    saveBankAccount(req: any, dto: {
        bank_name: string;
        account_number: string;
    }): Promise<any>;
    submitPayment(req: any, dto: {
        operation_number: string;
        amount: number;
    }): Promise<{
        message: string;
    }>;
}
