/**
 * Estimacion Entity
 * Estimaciones de obra periodicas para subcontratistas
 *
 * @module Estimates
 * @table estimates.estimaciones
 * @ddl schemas/04-estimates-schema-ddl.sql
 */
import { Tenant } from '../../core/entities/tenant.entity';
import { User } from '../../core/entities/user.entity';
import { Fraccionamiento } from '../../construction/entities/fraccionamiento.entity';
import { EstimacionConcepto } from './estimacion-concepto.entity';
import { Amortizacion } from './amortizacion.entity';
import { Retencion } from './retencion.entity';
import { EstimacionWorkflow } from './estimacion-workflow.entity';
export type EstimateStatus = 'draft' | 'submitted' | 'reviewed' | 'approved' | 'invoiced' | 'paid' | 'rejected' | 'cancelled';
export declare class Estimacion {
    id: string;
    tenantId: string;
    contratoId: string;
    fraccionamientoId: string;
    estimateNumber: string;
    periodStart: Date;
    periodEnd: Date;
    sequenceNumber: number;
    status: EstimateStatus;
    subtotal: number;
    advanceAmount: number;
    retentionAmount: number;
    taxAmount: number;
    totalAmount: number;
    submittedAt: Date | null;
    submittedById: string | null;
    reviewedAt: Date | null;
    reviewedById: string | null;
    approvedAt: Date | null;
    approvedById: string | null;
    invoiceId: string | null;
    invoicedAt: Date | null;
    paidAt: Date | null;
    notes: string | null;
    createdAt: Date;
    createdById: string | null;
    updatedAt: Date | null;
    updatedById: string | null;
    deletedAt: Date | null;
    deletedById: string | null;
    tenant: Tenant;
    fraccionamiento: Fraccionamiento;
    submittedBy: User | null;
    reviewedBy: User | null;
    approvedBy: User | null;
    createdBy: User | null;
    conceptos: EstimacionConcepto[];
    amortizaciones: Amortizacion[];
    retenciones: Retencion[];
    workflow: EstimacionWorkflow[];
}
//# sourceMappingURL=estimacion.entity.d.ts.map