import { TenantConnectionService } from '@/modules/tenant/tenant-connection.service';
import { BaseTenantService } from '@/common/base/service/base-crud.service';
import { PosCustomerScanSession } from './entities/pos-customer-scan-session.entity';
import { PosCustomerScanItem } from './entities/pos-customer-scan-item.entity';
import { PosCustomerScanAudit } from './entities/pos-customer-scan-audit.entity';
export declare class PosCustomerScanService extends BaseTenantService<PosCustomerScanSession> {
    protected readonly tenantConnectionService: TenantConnectionService;
    protected entity: typeof PosCustomerScanSession;
    constructor(tenantConnectionService: TenantConnectionService);
    startSession(data: any): Promise<PosCustomerScanSession[]>;
    getSession(id: number): Promise<PosCustomerScanSession>;
    listItems(sessionId: number): Promise<PosCustomerScanItem[]>;
    scanItem(sessionId: number, data: any): Promise<PosCustomerScanItem>;
    removeItem(sessionId: number, itemId: number): Promise<PosCustomerScanItem>;
    checkout(sessionId: number, data: any): Promise<PosCustomerScanSession>;
    convertToSale(sessionId: number, data: any): Promise<{
        session_id: number;
        session_code: string;
        sale_id: number;
        sale_code: string;
        total_amount: number;
        paid_amount: number;
        payment_status: string;
        item_count: number;
    }>;
    private applyScanInventory;
    private toNum;
    startAudit(sessionId: number, data: any, userId?: number): Promise<PosCustomerScanAudit[]>;
    completeAudit(auditId: number, data: any): Promise<PosCustomerScanAudit>;
}
