import { Prisma } from '@prisma/client';
import { AuditService } from '../audit/audit.service';
import { RequestUser } from '../common/request-user';
import { PrismaService } from '../database/prisma.service';
import { CreateGuardDto } from './dto/create-guard.dto';
export declare class GuardsService {
    private readonly prisma;
    private readonly audit;
    constructor(prisma: PrismaService, audit: AuditService);
    findAll(user: RequestUser, estateId?: 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;
        address: string | null;
        profileConfirmed: boolean;
        guardCode: string;
        assignedGateId: string | null;
        assignedShifts: Prisma.JsonValue;
        profilePictureUrl: string | null;
        emergencyContact: Prisma.JsonValue;
        deviceId: string | null;
        createdAt: Date;
        updatedAt: Date;
        profilePictureThumbnailUrl: string | null;
        profileCompletion: number;
        userId: string;
    }[]>;
    create(dto: CreateGuardDto, 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;
        address: string | null;
        profileConfirmed: boolean;
        guardCode: string;
        assignedGateId: string | null;
        assignedShifts: Prisma.JsonValue;
        profilePictureUrl: string | null;
        emergencyContact: Prisma.JsonValue;
        deviceId: string | null;
        createdAt: Date;
        updatedAt: Date;
        profilePictureThumbnailUrl: string | null;
        profileCompletion: number;
        userId: string;
    }>;
    private displayName;
    private assertPlanGuardLimit;
}
