import { TenantConnectionService } from '@/modules/tenant/tenant-connection.service';
import { BaseTenantService } from '@/common/base/service/base-crud.service';
import { PosPaymentReconciliation } from './entities/pos-payment-reconciliation.entity';
import { PosPaymentReconciliationItem } from './entities/pos-payment-reconciliation-item.entity';
import { PosPaymentWebhookEvent } from './entities/pos-payment-webhook-event.entity';
import { PosPaymentTransaction } from './entities/pos-payment-transaction.entity';
export declare class PosPaymentReconciliationService extends BaseTenantService<PosPaymentReconciliation> {
    protected readonly tenantConnectionService: TenantConnectionService;
    protected entity: typeof PosPaymentReconciliation;
    constructor(tenantConnectionService: TenantConnectionService);
    listWebhookEvents(filters: {
        provider_id?: number;
        event_type?: string;
        processing_status?: string;
    }): Promise<PosPaymentWebhookEvent[]>;
    receiveWebhookEvent(data: any): Promise<PosPaymentWebhookEvent[]>;
    processWebhookEvent(eventId: number): Promise<{
        id: number;
        status: string;
        processing_status?: undefined;
        processed_at?: undefined;
    } | {
        id: number;
        processing_status: string;
        processed_at: Date;
        status?: undefined;
    }>;
    listReconciliations(filters: {
        store_id?: number;
        provider_id?: number;
        status?: string;
    }): Promise<PosPaymentReconciliation[]>;
    getReconciliation(id: number): Promise<PosPaymentReconciliation>;
    listReconciliationItems(reconciliationId: number): Promise<PosPaymentReconciliationItem[]>;
    createReconciliation(data: any, userId?: number): Promise<PosPaymentReconciliation>;
    updateReconciliationStatus(id: number, status: string, userId?: number): Promise<PosPaymentReconciliation>;
    pendingPaymentReport(filters: {
        store_id?: number;
        payment_method_id?: number;
        date_from?: string;
        date_to?: string;
    }): Promise<{
        transactions: PosPaymentTransaction[];
        total: number;
        count: number;
    }>;
    reconciliationSummary(filters: {
        store_id?: number;
        status?: string;
    }): Promise<{
        reconciliations: PosPaymentReconciliation[];
        summary: {
            count: number;
            totalSystemAmount: number;
            totalActualAmount: number;
            totalDifference: number;
        };
    }>;
}
