import { JwtService } from '@nestjs/jwt';
import { DatabaseService, HashService, MailService, UploadService } from '../../config';
import { AccessControlService } from '../access-control/access-control.service';
import { ConfigurationsService } from '../configurations/configurations.service';
import { changePasswordDto, resetOtpDto, resetPasswordDto } from '../shared/shared.dto';
import { authResponseDto, createOwnerDto, ownerResponseDto, signinOwnerDto, updateOwnerDto } from './owner.dto';
export declare class OwnerService {
    private readonly db;
    private readonly configuration;
    private readonly hashService;
    private readonly jwt;
    private readonly mailService;
    private readonly uploadService;
    private readonly accessControlService;
    constructor(db: DatabaseService, configuration: ConfigurationsService, hashService: HashService, jwt: JwtService, mailService: MailService, uploadService: UploadService, accessControlService: AccessControlService);
    createOwner(data: createOwnerDto): Promise<{
        data: authResponseDto;
        message: string;
    }>;
    resendOtp(email: string): Promise<{
        message: string;
        data: string;
        status: number;
        details: null;
    }>;
    verifyOtp(email: string, otp: string): Promise<{
        data: authResponseDto;
        message: string;
        status: number;
        details: null;
    }>;
    signin(data: signinOwnerDto): Promise<{
        data: authResponseDto;
        message: string;
    }>;
    updateOwner(data: updateOwnerDto, id: string): Promise<{
        data: ownerResponseDto;
        message: string;
    }>;
    forgotPassword(email: string): Promise<{
        message: string;
        data: string;
        status: number;
        details: null;
    }>;
    resetVerifyOtp(data: resetOtpDto): Promise<{
        message: string;
    }>;
    resetPassword(data: resetPasswordDto): Promise<{
        message: string;
    }>;
    changePassword(ownerId: string, data: changePasswordDto): Promise<{
        message: string;
        data: null;
        status: number;
        details: null;
    }>;
}
