import { PaymentMethod } from '@colijnit/transactionapi/build/model/payment-method.bo';
import { CreatePaymentLinkResult } from '@colijnit/transactionapi/build/model/create-payment-link-result.bo';
import { TransactionService } from './transaction.service';
import { PaymentLinkStatus } from '@colijnit/transactionapi/build/model/payment-link-status.bo';
import { TransactionConnectorAdapterService } from './transaction-connector-adapter.service';
import { TransactionSelectMultipleCacheService } from '../cache/service/transaction-select-multiple-cache.service';
import { PaymentViewmodel } from '../model/payment.viewmodel';
import { TransactionDepositPaymentInfo } from '@colijnit/transactionapi/build/model/transaction-deposit-payment-info.bo';
import { PspTransactionStatus } from '@colijnit/transactionapi/build/model/psp-transaction-status.bo';
import { TransactionSelectMultipleParameterizedCacheService } from '../cache/service/transaction-select-multiple-parameterized-cache.service';
import { TransactionKind } from '@colijnit/transactionapi/build/enum/transaction-kind.enum';
import { DoPaymentRequest } from '@colijnit/transactionapi/build/model/do-payment-request';
import { AmountToPay } from '@colijnit/transactionapi/build/model/amount-to-pay';
import { CalculateAmountToPayRequest } from '@colijnit/transactionapi/build/model/calculate-amount-to-pay-request';
import { TransactionEventService } from './transaction-event.service';
import { TransactionRegisteredPaymentInfo } from '@colijnit/transactionapi/build/model/transaction-registered-payment-info.bo';
import { OutstandingAmountCustomer } from "@colijnit/transactionapi/build/model/outstanding-amount-customer.bo";
import { OutstandingAmountFilterCustomer } from "@colijnit/transactionapi/build/model/outstanding-amount-filter-customer.bo";
import { PaymentAnalysis } from "@colijnit/transactionapi/build/model/payment-analysis.bo";
import { OrderPaymentAnalysis } from "@colijnit/transactionapi/build/model/order-payment-analysis.bo";
import { OrderPaymentAnalysisFilter } from "@colijnit/transactionapi/build/model/order-payment-analysis-filter.bo";
export declare class TransactionPaymentConnectorService {
    private _adapterService;
    private _selectMultipleCacheService;
    private _selectMultipleParameterizedCacheService;
    private _transactionService;
    private _transactionEventService;
    readonly transKind: typeof TransactionKind;
    constructor(_adapterService: TransactionConnectorAdapterService, _selectMultipleCacheService: TransactionSelectMultipleCacheService, _selectMultipleParameterizedCacheService: TransactionSelectMultipleParameterizedCacheService, _transactionService: TransactionService, _transactionEventService: TransactionEventService);
    createIonePaymentLinkAndQRCode(uuid: string, amount: number, paymentMethodCode: string): Promise<CreatePaymentLinkResult>;
    doPayment(doPaymentRequest: DoPaymentRequest): Promise<string>;
    getPaymentLinkStatus(paymentLinkUUID: string): Promise<PaymentLinkStatus>;
    getPspTransactionStatus(pspTransactionUuid: string): Promise<PspTransactionStatus>;
    getDepositPaymentInfo(uuid: string): Promise<TransactionDepositPaymentInfo>;
    getOutstandingCustomerAmounts(request: OutstandingAmountFilterCustomer): Promise<OutstandingAmountCustomer[]>;
    getSalesOrderPaymentAnalysis(request: OrderPaymentAnalysisFilter): Promise<OrderPaymentAnalysis[]>;
    getPaymentAnalysis(uuid: string): Promise<PaymentAnalysis>;
    getRegisteredPaymentInfo(uuid: string): Promise<TransactionRegisteredPaymentInfo>;
    calculateAmountToPay(calculateAmountToPayRequest: CalculateAmountToPayRequest): Promise<AmountToPay>;
    calculateAmountToPayWithLineSelection(calculateAmountToPayRequest: CalculateAmountToPayRequest): Promise<AmountToPay>;
    getPaymentMethodsForSalesOrder(branchNr: string): Promise<PaymentMethod[]>;
    getPaymentMethodsForCashRegister(branchNr: string): Promise<PaymentMethod[]>;
    processPosTransactionByUuid(uuid: string): Promise<boolean>;
    openDrawer(printerName: string): Promise<boolean>;
    getPaymentMethodsViewModels(branchNr: string, transactionKind?: TransactionKind): Promise<PaymentViewmodel[]>;
    getPaymentMethodsViewModelsForSalesOrCashDeskOrder(cashRegisterGroupId: number, transactionKind?: TransactionKind): Promise<PaymentViewmodel[]>;
    getPaymentMethodsByCashRegisterGroupForSalesOrder(cashRegisterGroupId: number): Promise<PaymentMethod[]>;
    getPaymentMethodsByCashRegisterGroupForCashRegister(cashRegisterGroupId: number): Promise<PaymentMethod[]>;
}
