import { OnDestroy } from '@angular/core';
import { PaymentMethod } from '@colijnit/transactionapi/build/model/payment-method.bo';
import { TransactionPaymentConnectorService } from './transaction-payment-connector.service';
import { Subject } from 'rxjs';
import { TransactionEventService } from './transaction-event.service';
import { DictionaryService } from './dictionary.service';
import { HttpClient } from '@angular/common/http';
import { ReportLayoutSelectionPrint } from '@colijnit/mainapi/build/model/report-layout-selection-print.bo';
import { ReportLayoutSelectionEmail } from '@colijnit/mainapi/build/model/report-layout-selection-email.bo';
import { TransactionDialogService } from './transaction-dialog.service';
import { TransactionService } from './transaction.service';
import { DatePipe } from '@angular/common';
export declare class TransactionPaymentService implements OnDestroy {
    private _transactionEventService;
    private _paymentConnectorService;
    private _dictionaryService;
    private _dialogService;
    private _http;
    private _transactionService;
    private _datePipe;
    amount: number;
    amountToPay: number;
    statusMessage: string;
    branch: string;
    transId: number;
    transactionUuid: string;
    voucherCode: string;
    paymentDate: Date;
    set currentPaymentMethod(value: PaymentMethod);
    get currentPaymentMethod(): PaymentMethod;
    set cashRegisterDrawerNr(value: string);
    get cashRegisterDrawerNr(): string;
    set cashRegisterDrawerId(value: number);
    get cashRegisterDrawerId(): number;
    currencyId: number;
    cashRegisterNr: number;
    cashRegisterGroupId: number;
    printerName: string;
    printerLayout: ReportLayoutSelectionPrint;
    emailLayout: ReportLayoutSelectionEmail;
    qrCodeImage: string;
    qrCodeUrl: string;
    showPspQrCode: boolean;
    getDepositAmount: boolean;
    cancelUrl: string;
    payed: Subject<void>;
    paymentFailed: Subject<void>;
    pollingForStatusStarted: Subject<void>;
    pollingForStatusEnded: Subject<void>;
    doNotFetchAmountToPayForRemaining: boolean;
    private _cashRegisterDrawerNr;
    private _cashRegisterDrawerId;
    private _currentPaymentMethod;
    private _paymentResult;
    private _paymentStatusInterval;
    private _paymentStatusPollIntervalMs;
    private _paymentStatusMaxPollInterval;
    private _paymentStatusPollIntervalCount;
    constructor(_transactionEventService: TransactionEventService, _paymentConnectorService: TransactionPaymentConnectorService, _dictionaryService: DictionaryService, _dialogService: TransactionDialogService, _http: HttpClient, _transactionService: TransactionService, _datePipe: DatePipe);
    ngOnDestroy(): void;
    handlePayment(): Promise<void>;
    cancelPayment(): void;
    preparePaymentInfo(): Promise<void>;
    private _waitForPinPaymentStatus;
    private _handlePayment;
    private _handlePaymentFailed;
    private _clearInterval;
    private _dataUriToBase64;
    private _setCashDrawerIdIfValidDrawer;
}
