import { Repository } from 'typeorm';
import { ClsService } from 'nestjs-cls';
import { TenantAwareRepository } from '../../../common/repositories/tenant-aware.repository';
import { BookingSettlementMasterEntity, CustomerSettlementStatus, SupplierSettlementStatus, OverallSettlementStatus } from '../../../entities/booking-settlement-master.entity';
import { MasterListQueryDto } from '../dto/master-list-query.dto';
export declare class BookingSettlementMasterRepository extends TenantAwareRepository<BookingSettlementMasterEntity> {
    constructor(repo: Repository<BookingSettlementMasterEntity>, cls: ClsService);
    findActiveByBooking(booking_id: string): Promise<BookingSettlementMasterEntity | null>;
    findDetailById(id: string): Promise<BookingSettlementMasterEntity | null>;
    findPaginatedList(query: MasterListQueryDto): Promise<{
        items: BookingSettlementMasterEntity[];
        meta: {
            total: number;
            page: number;
            limit: number;
            totalPages: number;
        };
    }>;
    deriveRollup(masterId: string): Promise<{
        customer_expected: number;
        customer_received: number;
        customer_refund_due: number;
        customer_status: CustomerSettlementStatus;
        supplier_expected: number;
        supplier_paid: number;
        supplier_status: SupplierSettlementStatus;
        planned_margin: number;
        realised_margin: number;
        cost_expected: number;
        cost_margin: number;
        overall_status: OverallSettlementStatus;
    }>;
}
