import { ChangeDetectorRef, OnDestroy, OnInit } from '@angular/core';
import { TransactionHeaderPopupBaseComponent } from './transaction-header-popup-base.component';
import { PaymentAnalysis } from '@colijnit/transactionapi/build/model/payment-analysis.bo';
import { TransactionEventService } from '../../../service/transaction-event.service';
import { TransactionService } from '../../../service/transaction.service';
import { IconCacheService } from '../../../service/icon-cache.service';
import { TransactionScreenConfigurationService } from '../../../service/transaction-screen-configuration.service';
import { DictionaryService } from '../../../service/dictionary.service';
import { TransactionImageService } from '../../../service/transaction-image.service';
import { TransactionDialogService } from '../../../service/transaction-dialog.service';
import { FormMasterService } from '@colijnit/corecomponents_v12';
import { TransactionRelationService } from '../../../service/transaction-relation.service';
import { TransactionPaymentConnectorService } from '../../../service/transaction-payment-connector.service';
import { TransactionHeaderService } from '../../core/base/service/transaction-header.service';
import { CoCurrencyPipe } from '../../../pipe/co-currency.pipe';
import { OrderPaymentAnalysis } from '@colijnit/transactionapi/build/model/order-payment-analysis.bo';
import { TransactionRegisteredPaymentInfo } from '@colijnit/transactionapi/build/model/transaction-registered-payment-info.bo';
import { PaymentViewmodel } from '../../../model/payment.viewmodel';
export interface PaymentCategory {
    index: number;
    title: string;
}
export declare class TransactionHeaderPopupPaymentComponent extends TransactionHeaderPopupBaseComponent implements OnInit, OnDestroy {
    transactionHeaderService: TransactionHeaderService;
    transactionEventService: TransactionEventService;
    service: TransactionService;
    iconCacheService: IconCacheService;
    transactionScreenConfigurationService: TransactionScreenConfigurationService;
    protected dictionaryService: DictionaryService;
    protected imageService: TransactionImageService;
    protected changeDetector: ChangeDetectorRef;
    protected dialogService: TransactionDialogService;
    protected formMasterService: FormMasterService;
    protected relationService: TransactionRelationService;
    private _paymentConnectorService;
    showClass(): boolean;
    currencyPipe: typeof CoCurrencyPipe;
    paidDown: number;
    settled: number;
    cashOnDelivery: number;
    showBusinessRuleInfo: boolean;
    showPayDownLabel: boolean;
    cashOnDeliveryModalVisible: boolean;
    showCashOnDelivery: boolean;
    showPaymentDialog: boolean;
    orderPaymentAnalysis: OrderPaymentAnalysis[];
    paymentAnalysis: PaymentAnalysis;
    paymentCategories: PaymentCategory[];
    activeCategory: PaymentCategory;
    chosenAmountToPay: number;
    transactionIdToPay: number;
    registeredPaymentInfo: TransactionRegisteredPaymentInfo;
    paymentMethods: PaymentViewmodel[];
    private _paymentSubs;
    constructor(transactionHeaderService: TransactionHeaderService, transactionEventService: TransactionEventService, service: TransactionService, iconCacheService: IconCacheService, transactionScreenConfigurationService: TransactionScreenConfigurationService, dictionaryService: DictionaryService, imageService: TransactionImageService, changeDetector: ChangeDetectorRef, dialogService: TransactionDialogService, formMasterService: FormMasterService, relationService: TransactionRelationService, _paymentConnectorService: TransactionPaymentConnectorService);
    ngOnInit(): Promise<void>;
    ngOnDestroy(): Promise<void>;
    handleCategoryClick(cat: PaymentCategory): void;
    showOutstandingAmounts(): Promise<void>;
    showCashOnDeliveryModal(value: boolean): void;
    getCashAmount(value: number): void;
    showPaymentButton(): boolean;
    openPayment(event: MouseEvent): Promise<void>;
    handleCloseDialog(): void;
    isDirectSellEnabled(): boolean;
    showInvoiceSelection(): boolean;
    handleSelectInvoiceLines(paymentInfo: OrderPaymentAnalysis): void;
    paymentMethodType(code: string): string;
    protected transactionSet(): void;
    private _getDepositInfo;
    private _getOutstandingAmounts;
    private _getRegisteredPaymentInfo;
    private _getPaymentMethodTypes;
    private _getObjectConfiguration;
    private _updateChosenAmountToPay;
}
