import { OnDestroy, OnInit } from '@angular/core';
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 { EmailInvoiceRequest } from '@colijnit/transactionapi/build/model/email-invoice-request';
import { PrintInvoiceRequest } from '@colijnit/transactionapi/build/model/print-invoice-request';
import { PdfInvoiceRequest } from '@colijnit/transactionapi/build/model/pdf-invoice-request';
import { TransactionSendDocumentsComponent } from '../../transaction-send-documents/transaction-send-documents.component';
import { ReportingDocumentPdfBaseRequest } from '@colijnit/mainapi/build/model/reporting-document-pdf-base-request';
import { ReportingDocumentPrintSignDocBaseRequest } from '@colijnit/mainapi/build/model/reporting-document-print-sign-doc-base-request';
import { ReportingDocumentEmailSignDocBaseRequest } from '@colijnit/mainapi/build/model/reporting-document-email-sign-doc-base-request';
import { LayoutCode } from "@colijnit/transactionapi/build/enum/layout-code.enum";
export declare class TransactionQuickAccessInvoiceComponent extends TransactionQuickAccessSendMethodBaseComponent implements OnInit, OnDestroy {
    sendDocumentsComponent: TransactionSendDocumentsComponent;
    showClass(): boolean;
    reportDocumentEmailRequest: ReportingDocumentEmailSignDocBaseRequest;
    reportDocumentPrintRequest: ReportingDocumentPrintSignDocBaseRequest;
    reportDocumentPdfRequest: ReportingDocumentPdfBaseRequest;
    canInvoice: boolean;
    internalParameterAllowsPartialInvoicing: boolean;
    allSelected: boolean;
    layoutCode: LayoutCode;
    private _subs;
    ngOnInit(): void;
    ngOnDestroy(): void;
    handleSelectAllLines(value: boolean): void;
    protected getDefaultEmailAddressList(): Promise<string[]>;
    protected getDefaultSendMethod(): Promise<number>;
    protected getEmailLayouts(): Promise<ReportLayoutSelectionEmail[]>;
    protected getPrintLayouts(): Promise<ReportLayoutSelectionPrint[]>;
    protected pdfDocument(request: ReportingDocumentPdfBaseRequest): void;
    protected printDocument(request: ReportingDocumentPrintSignDocBaseRequest): void;
    protected emailDocument(request: ReportingDocumentEmailSignDocBaseRequest): void;
    transactionSet(): void;
    _prepareRequest(request: EmailInvoiceRequest | PrintInvoiceRequest | PdfInvoiceRequest): boolean;
    getHistoricDocuments(): void;
    historicDocuments(): boolean;
    handleSendDocument(defaultSendMethod: string): void;
    handleSendMethodOkClick(method: string): Promise<void>;
    private _createRequestLines;
    private _getInternalParameterAllowPartialInvoicing;
    private _prepareHistoricRequest;
}
