import { ChangeDetectorRef, OnDestroy, OnInit } from '@angular/core';
import { Icon } from '../../../enum/icon.enum';
import { TransactionQuickAccessSendMethodBaseComponent } from '../transaction-quick-access-send-method-base.component';
import { ReportLayoutSelectionEmail } from '@colijnit/mainapi/build/model/report-layout-selection-email.bo';
import { ReportLayoutSelectionPrint } from '@colijnit/mainapi/build/model/report-layout-selection-print.bo';
import { ReportingDocumentEmailSignDocBaseRequest } from '@colijnit/mainapi/build/model/reporting-document-email-sign-doc-base-request';
import { ReportingDocumentPrintSignDocBaseRequest } from '@colijnit/mainapi/build/model/reporting-document-print-sign-doc-base-request';
import { TransactionSearchService } from "../../transaction-search/service/transaction-search.service";
import { TransactionHeaderService } from "../../core/base/service/transaction-header.service";
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 { TransactionDialogService } from "../../../service/transaction-dialog.service";
import { TransactionRelationService } from "../../../service/transaction-relation.service";
import { LogisticStickerRequest } from "@colijnit/transactionapi/build/model/logistic-sticker-request";
import { LayoutCode } from "@colijnit/transactionapi/build/enum/layout-code.enum";
import { ReportingDocumentPdfBaseRequest } from "@colijnit/mainapi/build/model/reporting-document-pdf-base-request";
import { PrintPurchaseOrderForTransactionOrderWithoutLinesRequest } from '@colijnit/mainapi/build/model/print-purchase-order-for-transaction-order-without-lines-request';
export declare class TransactionQuickAccessReserveComponent extends TransactionQuickAccessSendMethodBaseComponent implements OnInit, OnDestroy {
    searchService: TransactionSearchService;
    transactionHeaderService: TransactionHeaderService;
    transactionEventService: TransactionEventService;
    iconCacheService: IconCacheService;
    screenConfigService: TransactionScreenConfigurationService;
    transactionService: TransactionService;
    protected imageService: TransactionImageService;
    protected dictionaryService: DictionaryService;
    protected changeDetector: ChangeDetectorRef;
    protected dialogService: TransactionDialogService;
    protected relationService: TransactionRelationService;
    readonly icons: typeof Icon;
    showClass(): boolean;
    reportDocumentEmailRequest: ReportingDocumentEmailSignDocBaseRequest;
    reportDocumentPrintRequest: ReportingDocumentPrintSignDocBaseRequest;
    reportDocumentPdfRequest: ReportingDocumentPdfBaseRequest;
    reportDocumentCombinedRequest: PrintPurchaseOrderForTransactionOrderWithoutLinesRequest;
    layoutCode: LayoutCode;
    private _subs;
    constructor(searchService: TransactionSearchService, transactionHeaderService: TransactionHeaderService, transactionEventService: TransactionEventService, iconCacheService: IconCacheService, screenConfigService: TransactionScreenConfigurationService, transactionService: TransactionService, imageService: TransactionImageService, dictionaryService: DictionaryService, changeDetector: ChangeDetectorRef, dialogService: TransactionDialogService, relationService: TransactionRelationService);
    ngOnInit(): void;
    ngOnDestroy(): void;
    handleSelectAllLines(value: boolean): void;
    openSendDialog(): void;
    protected getDefaultEmailAddressList(): Promise<string[]>;
    protected getDefaultSendMethod(): Promise<number>;
    protected getEmailLayouts(): Promise<ReportLayoutSelectionEmail[]>;
    protected getPrintLayouts(): Promise<ReportLayoutSelectionPrint[]>;
    protected printDocument(printRequest: ReportingDocumentPrintSignDocBaseRequest, localPrint: boolean): Promise<void>;
    protected pdfDocument(pdfRequest: ReportingDocumentPrintSignDocBaseRequest): Promise<void>;
    protected emailDocument(emailInvoiceRequest: ReportingDocumentEmailSignDocBaseRequest): void;
    protected createLogisticStickerRequestsPerLine(reportId: number): LogisticStickerRequest[];
    protected combinedDocument(request: PrintPurchaseOrderForTransactionOrderWithoutLinesRequest, localPrint: boolean): void;
}
