import { ChangeDetectorRef, OnInit } from '@angular/core';
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 { SendMethodType } from '@colijnit/mainapi/build/enum/send-method-type.enum';
import { ReportingDocumentPdfBaseRequest } from '@colijnit/mainapi/build/model/reporting-document-pdf-base-request';
import { Icon } from '../../enum/icon.enum';
import { TransactionTypeCategory } from '../../enum/transaction-type-category.enum';
import { Printer } from '@colijnit/mainapi/build/model/printer.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 { LayoutCode } from '@colijnit/transactionapi/build/enum/layout-code.enum';
import { HistoricReport } from '@colijnit/transactionapi/build/model/historic-report.bo';
import { TransactionDialogService } from '../../service/transaction-dialog.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 { TransactionHeaderService } from '../core/base/service/transaction-header.service';
import { TransactionSearchService } from '../transaction-search/service/transaction-search.service';
import { TransactionHeaderBaseComponent } from '../core/base/transaction-header-base.component';
import { CoDocument } from '@colijnit/mainapi/build/model/co-document.bo';
export declare abstract class TransactionQuickAccessSendMethodBaseComponent extends TransactionHeaderBaseComponent implements OnInit {
    searchService: TransactionSearchService;
    transactionHeaderService: TransactionHeaderService;
    transactionEventService: TransactionEventService;
    iconCacheService: IconCacheService;
    screenConfigService: TransactionScreenConfigurationService;
    protected imageService: TransactionImageService;
    protected dictionaryService: DictionaryService;
    transactionService: TransactionService;
    protected changeDetector: ChangeDetectorRef;
    protected dialogService: TransactionDialogService;
    readonly icons: typeof Icon;
    readonly sendMethodType: typeof SendMethodType;
    readonly transactionTypeCategory: typeof TransactionTypeCategory;
    printerList: Printer[];
    emailLayouts: ReportLayoutSelectionEmail[];
    printLayouts: ReportLayoutSelectionPrint[];
    defaultSendMethod: string;
    defaultSendMethodIcon: string;
    emailAddresses: string[];
    showSendMethodDialog: boolean;
    sendMethods: import("@colijnit/sharedcomponents").ɵce[];
    signatureDocumentId: number;
    historicReports: HistoricReport[];
    isDocSignEnabled: boolean;
    isAdditionalDocEnabled: boolean;
    additionalFileContents: any;
    additionalFileName: string;
    pdfDoc: any;
    disablePdfPreview: boolean;
    defaultPrinter: Printer;
    layoutCode: LayoutCode;
    private isAdditionalDocAllowedByScreenConfig;
    protected abstract reportDocumentEmailRequest: ReportingDocumentEmailSignDocBaseRequest;
    protected abstract reportDocumentPrintRequest: ReportingDocumentPrintSignDocBaseRequest;
    protected abstract reportDocumentPdfRequest: ReportingDocumentPdfBaseRequest;
    constructor(searchService: TransactionSearchService, transactionHeaderService: TransactionHeaderService, transactionEventService: TransactionEventService, iconCacheService: IconCacheService, screenConfigService: TransactionScreenConfigurationService, imageService: TransactionImageService, dictionaryService: DictionaryService, transactionService: TransactionService, changeDetector: ChangeDetectorRef, dialogService: TransactionDialogService);
    ngOnInit(): void;
    transactionSet(): void;
    relationSet(): void;
    loadDefaultPrinterName(reportId: number): void;
    getHistoricDocuments(): void;
    handleSendMethodOkClick(method: string): Promise<void>;
    handleSend(method: string): Promise<void>;
    commitAndRefreshTransaction(): void;
    getTermsAndConditionsForm(): void;
    upsertDocument(doc: CoDocument): Promise<void>;
    onShowFilePreview(reportId: number): void;
    protected abstract printDocument(request: ReportingDocumentPrintSignDocBaseRequest): any;
    protected abstract emailDocument(request: ReportingDocumentEmailSignDocBaseRequest): any;
    protected abstract pdfDocument(request: ReportingDocumentPdfBaseRequest): any;
    protected abstract getEmailLayouts(): Promise<ReportLayoutSelectionEmail[]>;
    protected abstract getPrintLayouts(): Promise<ReportLayoutSelectionPrint[]>;
    protected abstract getDefaultEmailAddressList(): Promise<string[]>;
    protected abstract getDefaultSendMethod(): Promise<number>;
    private _prepareData;
    private _getPrinters;
    private _getDefaultSendMethod;
    protected _setDefaultMethod(method: string): void;
    private _getEmailLayouts;
    private _getPrintLayouts;
    private _webServiceDocument;
}
