import { TenantConnectionService } from '@/modules/tenant/tenant-connection.service';
import { BaseTenantService } from '@/common/base/service/base-crud.service';
import { PosSale } from './entities/pos-sale.entity';
import { PosSaleItem } from './entities/pos-sale-item.entity';
import { PosSalePayment } from './entities/pos-sale-payment.entity';
export declare class PosSalesService extends BaseTenantService<PosSale> {
    protected readonly tenantConnectionService: TenantConnectionService;
    protected entity: typeof PosSale;
    constructor(tenantConnectionService: TenantConnectionService);
    getSale(id: number): Promise<PosSale>;
    getSaleItems(saleId: number): Promise<PosSaleItem[]>;
    getSalePayments(saleId: number): Promise<PosSalePayment[]>;
    voidSale(id: number, data: {
        reason?: string;
    }): Promise<{
        sale_id: number;
        sale_code: string;
        sale_status: string;
        payment_status: string;
        voided_at: string;
        reason: string | null;
    }>;
    refundSale(id: number, data: any): Promise<{
        sale_id: number;
        sale_code: string;
        sale_status: string;
        payment_status: string;
        total_refund_amount: number;
        refunded_items: any;
        refunded_at: string;
        reason: any;
    }>;
    createSale(data: any, userId?: number): Promise<PosSale>;
    private applySaleInventory;
    listSales(filters: {
        store_id?: number;
        shift_id?: number;
        status?: string;
        date_from?: string;
        date_to?: string;
    }): Promise<PosSale[]>;
    private reverseInventoryForRefund;
    private toNum;
}
