import { TenantConnectionService } from '@/modules/tenant/tenant-connection.service';
import { BaseTenantService } from '@/common/base/service/base-crud.service';
import { PosSale } from './entities/pos-sale.entity';
export declare class PosSalesReportService extends BaseTenantService<PosSale> {
    protected readonly tenantConnectionService: TenantConnectionService;
    protected entity: typeof PosSale;
    constructor(tenantConnectionService: TenantConnectionService);
    salesSummary(filters: {
        store_id?: number;
        register_id?: number;
        cashier_user_id?: number;
        shift_id?: number;
        date_from?: string;
        date_to?: string;
    }): Promise<{
        filters: {
            store_id?: number;
            register_id?: number;
            cashier_user_id?: number;
            shift_id?: number;
            date_from?: string;
            date_to?: string;
        };
        summary: {
            total_sales: number;
            total_revenue: number;
            total_paid: number;
            total_discounts: number;
            total_tax: number;
            avg_sale_amount: number;
        };
        payment_breakdown: any[];
    }>;
    salesByPeriod(filters: {
        store_id?: number;
        register_id?: number;
        cashier_user_id?: number;
        date_from?: string;
        date_to?: string;
        group_by?: string;
    }): Promise<{
        filters: {
            group_by: string;
            store_id?: number;
            register_id?: number;
            cashier_user_id?: number;
            date_from?: string;
            date_to?: string;
        };
        data: {
            period: any;
            total_sales: number;
            total_revenue: number;
            total_paid: number;
            avg_amount: number;
        }[];
    }>;
    topProducts(filters: {
        store_id?: number;
        date_from?: string;
        date_to?: string;
        limit?: number;
    }): Promise<{
        product_id: any;
        product_name: any;
        sku: any;
        total_quantity_sold: number;
        total_revenue: number;
        sale_count: number;
    }[]>;
    cashierPerformance(filters: {
        store_id?: number;
        date_from?: string;
        date_to?: string;
    }): Promise<{
        cashier_user_id: any;
        total_sales: number;
        total_revenue: number;
        total_paid: number;
        avg_sale_amount: number;
        total_discounts_applied: number;
    }[]>;
}
