import { ChangeDetectorRef } from '@angular/core';
import { TransactionQuickAccessSendMethodBaseComponent } from '../transaction-quick-access-send-method-base.component';
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 { ReportingDocumentPdfBaseRequest } from '@colijnit/mainapi/build/model/reporting-document-pdf-base-request';
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 { PrintPurchaseOrderForSalesOrderRequest } from '@colijnit/transactionapi/build/model/print-purchase-order-for-sales-order-request';
import { TransactionEventService } from '../../../service/transaction-event.service';
import { IconCacheService } from '../../../service/icon-cache.service';
import { TransactionScreenConfigurationService } from '../../../service/transaction-screen-configuration.service';
import { TransactionSearchService } from '../../transaction-search/service/transaction-search.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 { TransactionSalesReservationService } from '../../transaction-reservation/service/transaction-sales-reservation.service';
import { TransactionHeaderService } from '../../core/base/service/transaction-header.service';
import { TransactionSearchView } from '@colijnit/transactionapi/build/model/transaction-search-view.bo';
import { BatchTransactionSendingRequest } from '@colijnit/transactionapi/build/model/batch-transaction-sending-request';
import { Printer } from "@colijnit/mainapi/build/model/printer.bo";
import { LayoutCode } from "@colijnit/transactionapi/build/enum/layout-code.enum";
import { TransactionSendDocumentsComponent } from "../../transaction-send-documents/transaction-send-documents.component";
interface OverruleOptions {
    code: number;
    description: string;
}
export declare class TransactionQuickAccessOrderPurchaseComponent extends TransactionQuickAccessSendMethodBaseComponent {
    salesReservationService: TransactionSalesReservationService;
    showClass(): boolean;
    sendDocumentsComponent: TransactionSendDocumentsComponent;
    canGenerate: boolean;
    canReserve: boolean;
    showShippingMethodDialog: boolean;
    selectedTransactions: TransactionSearchView[];
    reportDocumentEmailRequest: ReportingDocumentEmailSignDocBaseRequest;
    reportDocumentPrintRequest: ReportingDocumentPrintSignDocBaseRequest;
    reportDocumentPdfRequest: ReportingDocumentPdfBaseRequest;
    batchTransactionSendingRequest: BatchTransactionSendingRequest;
    printPurchaseOrderForSalesOrderRequest: PrintPurchaseOrderForSalesOrderRequest;
    useDefaultLayout: boolean;
    useDefaultShippingMethods: boolean;
    saveDefaultPrinterForUser: boolean;
    saveDefaultPrinterForAllUsers: boolean;
    printerList: Printer[];
    selectedPrinter: Printer;
    overruledEmail: OverruleOptions;
    overruledEdi: OverruleOptions;
    overruledPrint: OverruleOptions;
    reportIdForPrinting: number;
    reportIdForEmail: number;
    layoutCode: LayoutCode;
    defaultSendMethod: string;
    private defaultSendMethodInitialized;
    private _subs;
    constructor(searchService: TransactionSearchService, transactionHeaderService: TransactionHeaderService, transactionEventService: TransactionEventService, iconCacheService: IconCacheService, screenConfigService: TransactionScreenConfigurationService, imageService: TransactionImageService, dictionaryService: DictionaryService, transactionService: TransactionService, changeDetector: ChangeDetectorRef, dialogService: TransactionDialogService, salesReservationService: TransactionSalesReservationService);
    ngOnInit(): void;
    ngOnDestroy(): void;
    handleSelectAllLines(value: boolean): void;
    handleSend(method: string): Promise<void>;
    handleSendMethodOkClick(methodData: any): Promise<void>;
    handleReservationModeClick(): Promise<void>;
    transactionSet(): void;
    openSendDialog(): void;
    private _checkPurchaseOrders;
    protected getDefaultEmailAddressList(): Promise<string[]>;
    protected getDefaultSendMethod(): Promise<number>;
    protected getEmailLayouts(): Promise<ReportLayoutSelectionEmail[]>;
    protected getPrintLayouts(): Promise<ReportLayoutSelectionPrint[]>;
    protected pdfDocument(request: ReportingDocumentPdfBaseRequest): void;
    protected emailDocument(request: ReportingDocumentEmailSignDocBaseRequest): void;
    protected printDocument(request: ReportingDocumentPrintSignDocBaseRequest): Promise<void>;
    protected downloadDocumentContentIfNeeded(printSuccess: Object | boolean): Promise<void>;
}
export {};
