import { ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, OnInit, QueryList } from '@angular/core';
import { TransactionTypeCategory } from '../../enum/transaction-type-category.enum';
import { ContentViewMode, OverlayService } from '@colijnit/corecomponents_v12';
import { Icon } from '../../enum/icon.enum';
import { TransactionCfgName } from '../../enum/transaction-cfg-name.enum';
import { TransactionLineSidePanelComponent } from '../transaction-line-side-panel/transaction-line-side-panel.component';
import { RelationAnyType } from '../../model/relation-any-type';
import { TransactionInfoResponse } from '@colijnit/transactionapi/build/model/transaction-info-response.bo';
import { TransactionLineInfo } from '@colijnit/transactionapi/build/model/transaction-line-info.bo';
import { StatusBarCfgNames } from '../../interface/status-bar-cfg-names.interface';
import { IconCacheService } from '../../service/icon-cache.service';
import { TransactionService } from '../../service/transaction.service';
import { TransactionEventService } from '../../service/transaction-event.service';
import { TransactionScreenConfigurationService } from '../../service/transaction-screen-configuration.service';
import { TransactionDialogService } from '../../service/transaction-dialog.service';
import { TransactionBarButton } from '../../model/transaction-bar-button';
import { TransactionAddTextLineRequest } from '@colijnit/transactionapi/build/model/transaction-add-text-line-request.bo';
import { OrderLineSetDTO } from '@colijnit/transactionapi/build/model/order-line-set-dto';
import { TransactionConnectorService } from '../../service/transaction-connector.service';
import { PurchaseConfirmationService } from '../../service/purchase-confirmation.service';
import { PosOrderData } from '../../model/pos-order-data';
import { TransactionKind } from '@colijnit/transactionapi/build/enum/transaction-kind.enum';
import { TransactionMarginInfo } from '@colijnit/transactionapi/build/model/transaction-margin-info.bo';
import { DeliveryPlanningService } from '../delivery-planning/service/delivery-planning.service';
import { TransactionBaseService } from '../../service/transaction-base.service';
import { TransactionHeaderService } from '../core/base/service/transaction-header.service';
import { LineSelectionService } from '../../service/line-selection.service';
import { SalesPerson } from '@colijnit/relationapi/build/model/sales-person.bo';
import { Form } from '@colijnit/mainapi/build/model/form.bo';
import { TableName } from '@colijnit/mainapi/build/enum/table-name.enum';
import { FormResponse } from '@colijnit/mainapi/build/model/form-response.bo';
export declare class TransactionInternalComponent implements OnInit, OnDestroy {
    iconCacheService: IconCacheService;
    service: TransactionService;
    private _transactionConnectorService;
    private _transactionEventService;
    private _screenConfigurationService;
    private _dialogService;
    private _purchaseConfirmationService;
    private _deliveryPlanningService;
    private _transactionBaseService;
    private _changeDetector;
    transactionHeaderService: TransactionHeaderService;
    private _overlayService;
    private _lineSelection;
    readonly categories: typeof TransactionTypeCategory;
    readonly viewModes: typeof ContentViewMode;
    readonly icons: typeof Icon;
    readonly cfgNames: typeof TransactionCfgName;
    readonly transactionKind: typeof TransactionKind;
    readonly category: typeof TransactionTypeCategory;
    screenWidth: number;
    set child(content: ElementRef);
    sidePanelComponents: QueryList<TransactionLineSidePanelComponent>;
    set confirmationAnalysisId(value: number);
    get confirmationAnalysisId(): number;
    posOrderData: PosOrderData;
    set transaction(value: TransactionInfoResponse);
    get transaction(): TransactionInfoResponse;
    showHeader: boolean;
    showViewModeButtons: boolean;
    set transactionPlanning(value: boolean);
    get transactionPlanning(): boolean;
    private _transactionPlanning;
    customerPortal: boolean;
    resetActiveRubric: boolean;
    serviceRequested: EventEmitter<{
        transactionNr: number;
        transactionId: number;
        lineNr: number;
    }>;
    showQuickAccess: boolean;
    showButtonBar: boolean;
    showClass(): boolean;
    onResize(event: any): void;
    activeViewMode: ContentViewMode;
    activeCategory: TransactionTypeCategory;
    sidePanelTransactionLine: TransactionLineInfo;
    transactionLine: TransactionLineInfo;
    selectedOrderLineSetDTO: OrderLineSetDTO;
    showSidePanel: boolean;
    shouldShowSidePanel: boolean;
    showArticleTextOverview: boolean;
    showReservationPopup: boolean;
    showTransactionText: boolean;
    showArticleText: boolean;
    showCopyOrderDialog: boolean;
    showArticleStockPopup: boolean;
    showPreferredPlanning: boolean;
    showUserForm: boolean;
    stockGoodId: number;
    salesPeople: SalesPerson[];
    showSalesPersonInput: boolean;
    loaded: boolean;
    textToEdit: string;
    relation: RelationAnyType;
    historicTransactionLines: TransactionLineInfo[] | null;
    transactionMarginInfo: TransactionMarginInfo;
    form: Form;
    formResponse: FormResponse[];
    formKey: string;
    formTable: TableName;
    lineDraggedOver: number;
    headerReadOnly: boolean;
    statusBarConfigNames: StatusBarCfgNames;
    private _subs;
    private _transaction;
    private _confirmationAnalysisId;
    private _editArticleTextRefLineNr;
    private _salesPersonInputComponentRef;
    private _salesPersonAvatarComponentRef;
    constructor(iconCacheService: IconCacheService, service: TransactionService, _transactionConnectorService: TransactionConnectorService, _transactionEventService: TransactionEventService, _screenConfigurationService: TransactionScreenConfigurationService, _dialogService: TransactionDialogService, _purchaseConfirmationService: PurchaseConfirmationService, _deliveryPlanningService: DeliveryPlanningService, _transactionBaseService: TransactionBaseService, _changeDetector: ChangeDetectorRef, transactionHeaderService: TransactionHeaderService, _overlayService: OverlayService, _lineSelection: LineSelectionService);
    ngOnInit(): void;
    ngOnDestroy(): void;
    handleButtonBarButtonClicked(button: TransactionBarButton): Promise<void>;
    checkPreferredPlanning(): Promise<void>;
    handleShowSidePanel(line: TransactionLineInfo, force?: boolean): void;
    handleTransactionText(): void;
    handleShowArticleTextOverview(line: TransactionLineInfo): void;
    handleShowTransactionText(line: TransactionLineInfo): void;
    handleShowArticleText(line: TransactionLineInfo): void;
    saveTransactionLineText(data: {
        request: TransactionAddTextLineRequest;
        new: boolean;
    }): Promise<void>;
    saveOrderLineSet(data: {
        request: OrderLineSetDTO;
        new: boolean;
    }): Promise<void>;
    saveArticleLineText(data: {
        request: TransactionAddTextLineRequest;
        new: boolean;
    }): Promise<void>;
    handleEditTransactionText(line: TransactionLineInfo): void;
    handleEditArticleText(line: TransactionLineInfo): void;
    handleCopyTransactionLine(line: TransactionLineInfo): void;
    handleCreateServiceRequest(lineNr: number): void;
    handleViewStock(goodId: number): void;
    closeArticleStockPopup(): void;
    closeArticleText(): void;
    closeTransactionText(): void;
    closeArticleTextOverview(): void;
    showTransactionTextDialog(): void;
    showArticleTextDialog(): void;
    showArticleTextOverviewDialog(): void;
    shouldShowTiles(): boolean;
    fullyInvoiced(): boolean;
    private _getOrderLineSetIfExists;
    private _hideArticleTextDialog;
    private _hideTransactionTextDialog;
    private _hideArticleTextOverviewDialog;
    private updateTransactionLine;
    handleViewModeChange(mode: ContentViewMode): void;
    getPlanOrderForTransaction(transaction: TransactionInfoResponse): Promise<void>;
    handleShowSalesPersonInput(event: MouseEvent): Promise<void>;
    handleCancelUserForm(): void;
    private _handleCloseSalesPersonInput;
    private _commitTransactionSalesPerson;
}
