import { Prisma } from '@prisma/client';
import { AuditService } from '../audit/audit.service';
import { RequestUser } from '../common/request-user';
import { PrismaService } from '../database/prisma.service';
import { CreateEstateDto } from './dto/create-estate.dto';
export declare class EstatesService {
    private readonly prisma;
    private readonly audit;
    constructor(prisma: PrismaService, audit: AuditService);
    findAll(user: RequestUser): Prisma.PrismaPromise<{
        status: import(".prisma/client").$Enums.EstateStatus;
        id: string;
        name: string;
        createdAt: Date;
        updatedAt: Date;
        location: string;
        unitCount: number;
        estateType: string | null;
        signupStatus: import(".prisma/client").$Enums.EstateSignupStatus;
        subscriptionStatus: import(".prisma/client").$Enums.SubscriptionStatus;
        subscriptionPlanId: string | null;
        selectedPaymentProvider: import(".prisma/client").$Enums.PaymentProvider | null;
        activatedAt: Date | null;
        rejectedAt: Date | null;
        suspendedAt: Date | null;
        reviewNotes: string | null;
        settings: Prisma.JsonValue;
        branding: Prisma.JsonValue;
        salesPartnerId: string | null;
    }[]>;
    create(dto: CreateEstateDto, user: RequestUser): Promise<{
        status: import(".prisma/client").$Enums.EstateStatus;
        id: string;
        name: string;
        createdAt: Date;
        updatedAt: Date;
        location: string;
        unitCount: number;
        estateType: string | null;
        signupStatus: import(".prisma/client").$Enums.EstateSignupStatus;
        subscriptionStatus: import(".prisma/client").$Enums.SubscriptionStatus;
        subscriptionPlanId: string | null;
        selectedPaymentProvider: import(".prisma/client").$Enums.PaymentProvider | null;
        activatedAt: Date | null;
        rejectedAt: Date | null;
        suspendedAt: Date | null;
        reviewNotes: string | null;
        settings: Prisma.JsonValue;
        branding: Prisma.JsonValue;
        salesPartnerId: string | null;
    }>;
    private createEstateWithOptionalAdmin;
}
