import { ChangeDetectorRef, EventEmitter, OnInit } from '@angular/core';
import { CashRegister } from '@colijnit/transactionapi/build/model/cash-register';
import { CashDrawer } from '@colijnit/transactionapi/build/model/cash-drawer.bo';
import { Printer } from '@colijnit/mainapi/build/model/printer.bo';
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 { PosOrderData } from '../../model/pos-order-data';
import { TransactionEventService } from "../../service/transaction-event.service";
import { IconCacheService } from "../../service/icon-cache.service";
import { TransactionScreenConfigurationService } from "../../service/transaction-screen-configuration.service";
import { TransactionImageService } from "../../service/transaction-image.service";
import { DictionaryService } from "../../service/dictionary.service";
import { TransactionService } from "../../service/transaction.service";
import { Icon } from "../../enum/icon.enum";
export declare class TransactionCashRegisterDialogComponent implements OnInit {
    transactionEventService: TransactionEventService;
    iconCacheService: IconCacheService;
    screenConfigService: TransactionScreenConfigurationService;
    protected imageService: TransactionImageService;
    protected dictionaryService: DictionaryService;
    protected transactionService: TransactionService;
    protected changeDetector: ChangeDetectorRef;
    readonly icons: typeof Icon;
    saveButtonClicked: EventEmitter<PosOrderData>;
    closeClicked: EventEmitter<void>;
    cashRegisters: any[];
    activeCashRegister: CashRegister;
    cashDrawers: CashDrawer[];
    activeCashDrawer: CashDrawer;
    defaultCashDrawer: CashDrawer;
    printerList: Printer[];
    activePrinter: Printer;
    defaultPrinter: Printer;
    printerLayouts: ReportLayoutSelectionPrint[];
    emailLayouts: ReportLayoutSelectionEmail[];
    selectedPrinterLayout: ReportLayoutSelectionPrint;
    selectedEmailLayout: ReportLayoutSelectionEmail;
    dialogVisible: boolean;
    showClass(): boolean;
    constructor(transactionEventService: TransactionEventService, iconCacheService: IconCacheService, screenConfigService: TransactionScreenConfigurationService, imageService: TransactionImageService, dictionaryService: DictionaryService, transactionService: TransactionService, changeDetector: ChangeDetectorRef);
    ngOnInit(): void;
    cashRegisterSelected(cashRegister: CashRegister): void;
    saveButtonClick(): void;
    private _getCashRegisters;
    private _getCashDrawers;
    private _getPrinters;
    private _prepareCashRegister;
    handleDrawerChanged(cashDrawer: CashDrawer): void;
    handlePrinterChanged(printer: Printer): void;
    private _getPrinterLayouts;
    private _getEmailLayouts;
    private _checkDefaultParameters;
    private _prepareDialogData;
}
