import { Repository } from 'typeorm';
import { ClsService } from 'nestjs-cls';
import { TenantAwareRepository } from '../../../common/repositories/tenant-aware.repository';
import { PaymentSettlementEntity, SettlementType } from '../../../entities/payment-settlement.entity';
import { SettlementQueryDto } from '../dto/settlement-query.dto';
export declare class PaymentSettlementRepository extends TenantAwareRepository<PaymentSettlementEntity> {
    constructor(repo: Repository<PaymentSettlementEntity>, cls: ClsService);
    findActiveForBooking(bookingId: string): Promise<PaymentSettlementEntity[]>;
    findByIdWithDetail(id: string): Promise<PaymentSettlementEntity | null>;
    countPendingForBooking(bookingId: string): Promise<number>;
    sumActiveByType(bookingId: string, type: SettlementType): Promise<{
        expected: number;
        received: number;
    }>;
    findPaginatedList(query: SettlementQueryDto): Promise<{
        items: PaymentSettlementEntity[];
        meta: {
            total: number;
            page: number;
            limit: number;
            totalPages: number;
        };
    }>;
    statsForDashboard(from?: string, to?: string, destinationId?: string): Promise<{
        pending_collections: number;
        pending_refunds: number;
        settled_collections: number;
        settled_refunds: number;
        window: {
            from: string;
            to: string;
        };
    }>;
}
