import { Prisma } from '@prisma/client';
import { AuditService } from '../audit/audit.service';
import { RequestUser } from '../common/request-user';
import { PrismaService } from '../database/prisma.service';
import { CreateResidentDto } from './dto/create-resident.dto';
export declare class ResidentsService {
    private readonly prisma;
    private readonly audit;
    constructor(prisma: PrismaService, audit: AuditService);
    findAll(user: RequestUser, estateId?: string, q?: string): Prisma.PrismaPromise<{
        status: import(".prisma/client").$Enums.AccountStatus;
        id: string;
        metadata: Prisma.JsonValue;
        estateId: string;
        name: string;
        firstName: string | null;
        lastName: string | null;
        phone: string;
        blockNumber: string | null;
        flatNumber: string | null;
        address: string | null;
        profileConfirmed: boolean;
        profilePictureUrl: string | null;
        emergencyContact: Prisma.JsonValue;
        unit: string;
        email: string | null;
        createdAt: Date;
        updatedAt: Date;
        profilePictureThumbnailUrl: string | null;
        profileCompletion: number;
        residentCode: string;
        householdMembers: Prisma.JsonValue;
        userId: string;
    }[]>;
    create(dto: CreateResidentDto, user: RequestUser): Promise<{
        status: import(".prisma/client").$Enums.AccountStatus;
        id: string;
        metadata: Prisma.JsonValue;
        estateId: string;
        name: string;
        firstName: string | null;
        lastName: string | null;
        phone: string;
        blockNumber: string | null;
        flatNumber: string | null;
        address: string | null;
        profileConfirmed: boolean;
        profilePictureUrl: string | null;
        emergencyContact: Prisma.JsonValue;
        unit: string;
        email: string | null;
        createdAt: Date;
        updatedAt: Date;
        profilePictureThumbnailUrl: string | null;
        profileCompletion: number;
        residentCode: string;
        householdMembers: Prisma.JsonValue;
        userId: string;
    }>;
    private displayName;
    private assertPlanResidentLimit;
}
