import { BehaviorSubject, Subject } from 'rxjs';
import { PositionGridRow } from '../enum/position-grid-row.enum';
import { Scroll } from '@angular/router';
import { TransactionLineInfo } from '@colijnit/transactionapi/build/model/transaction-line-info.bo';
import { BusinessObject } from '@colijnit/ioneconnector/build/model/business-object';
import { TransactionInfoResponse } from '@colijnit/transactionapi/build/model/transaction-info-response.bo';
import { TransactionTypeCategory } from '../enum/transaction-type-category.enum';
import { OrderLineSetInfo } from '@colijnit/transactionapi/build/model/order-line-set-info.bo';
import { OrderConfirmationDropped } from '../interface/order-confirmation-dropped.interface';
import { PurchaseReservation } from "@colijnit/transactionapi/build/model/purchase-reservation.bo";
import { PurchaseReservationPurchaseLine } from "@colijnit/transactionapi/build/model/purchase-reservation-purchase-line.bo";
import { TransactionKind } from "@colijnit/transactionapi/build/enum/transaction-kind.enum";
import { PlanningTransportWeekDay } from '@colijnit/transactionapi/build/model/planning-transport-week-day.bo';
export declare class TransactionEventService {
    readonly addToCartBySku: Subject<{
        sku: string;
        amount: number;
        popCart: boolean;
    }>;
    readonly addToCartBySelectorResult: Subject<{
        selectorResult: {
            goodId: number;
            baseGoodId: number;
            selectorData: any;
            quantity: number;
        };
        popCart: boolean;
    }>;
    readonly openShoppingCartModule: Subject<void>;
    readonly loggedIn: Subject<void>;
    readonly addNewUserToShoppingCartModule: Subject<string>;
    readonly addUserRelationShoppingCartModule: Subject<{
        user: string;
        pw: string;
    }>;
    readonly addArticleLine: Subject<{
        lineNr: number;
        beforeOrAfter: PositionGridRow;
    }>;
    readonly addTextLine: Subject<{
        lineNr: number;
        beforeOrAfter: PositionGridRow;
    }>;
    readonly addArticleLineAt: Subject<{
        sku: string;
        amount: number;
        lineNr: number;
        beforeOrAfter: PositionGridRow;
    }>;
    readonly addTextLineAt: Subject<{
        text: string;
        lineNr: number;
        beforeOrAfter: PositionGridRow;
    }>;
    readonly changeLineSequence: Subject<({
        fromIndex: number;
        toIndex: number;
    })>;
    readonly transactionLineClicked: Subject<BusinessObject>;
    readonly rightSidebarClose: Subject<void>;
    readonly scrollContent: Subject<Scroll>;
    readonly selectAllLines: Subject<boolean>;
    readonly transactionDirty: Subject<boolean>;
    readonly transactionLineChanged: Subject<TransactionLineInfo>;
    readonly transactionLineCheckboxChanged: Subject<{
        line: TransactionLineInfo;
        checked: boolean;
    }>;
    readonly transactionLineRefTransactionsChanged: BehaviorSubject<TransactionLineInfo>;
    readonly transactionLinePurchaseRefTransactionsChanged: BehaviorSubject<TransactionLineInfo>;
    readonly transactionLineAdded: BehaviorSubject<number>;
    readonly openArticleTextOverview: Subject<TransactionLineInfo>;
    readonly addArticleText: Subject<TransactionLineInfo>;
    readonly editArticleText: Subject<TransactionLineInfo>;
    readonly addTransactionText: Subject<TransactionLineInfo>;
    readonly editTransactionText: Subject<TransactionLineInfo>;
    readonly articleLineTextAddedOrChanged: Subject<number>;
    readonly newPlanOrderEvent: Subject<void>;
    readonly updatePlanningEvent: Subject<void>;
    readonly openSidePanel: Subject<TransactionLineInfo>;
    readonly createServiceButtonClicked: Subject<number>;
    readonly viewStockButtonClick: Subject<number>;
    readonly copyLineButtonClick: Subject<TransactionLineInfo>;
    readonly selectAllSalesOrderLinesForPurchase: Subject<boolean>;
    readonly selectAllSalesOrderLinesForDelivery: Subject<boolean>;
    readonly selectAllSalesOrderLinesForInvoice: Subject<boolean>;
    readonly selectAllSalesOrderLinesForAllocation: Subject<boolean>;
    readonly selectAllSalesOrderLinesToPick: Subject<boolean>;
    readonly selectAllSalesOrderLinesToBePicked: Subject<boolean>;
    readonly togglePurchaseOrderMarginInfo: Subject<void>;
    readonly toggleSalesQuotationMarginInfo: Subject<boolean>;
    readonly selectedTransportDay: Subject<PlanningTransportWeekDay>;
    readonly resetTransportDayFilteredOrders: Subject<void>;
    readonly selectAllPurchaseOrderLinesForReceiveGoods: Subject<boolean>;
    readonly setColliStickerAmount: Subject<boolean>;
    readonly globalReceiveLocationSet: Subject<string>;
    readonly updatingSalesOrderGeneratePurchaseOrders: Subject<boolean>;
    readonly updatingSalesOrderConfirmation: Subject<boolean>;
    readonly updatingSalesOrderGoodsToBePicked: Subject<boolean>;
    readonly updatingSalesOrderGoodsPicked: Subject<boolean>;
    readonly updatingSalesOrderDelivery: Subject<boolean>;
    readonly updatingSalesOrderQuotation: Subject<boolean>;
    readonly updatingInvoice: Subject<boolean>;
    readonly updatingPurchaseOrderReceiveGoods: Subject<boolean>;
    readonly updatingPurchaseOrderAllocateGoods: Subject<boolean>;
    readonly updatingPurchaseOrderConfirmation: Subject<boolean>;
    readonly allowPartialDeliveryChanged: Subject<boolean>;
    readonly salesOrderGeneratePurchaseOrdersCompletedChanged: BehaviorSubject<boolean>;
    readonly salesOrderPickingGoodsCompletedChanged: BehaviorSubject<boolean>;
    readonly salesOrderPickedCompletedChanged: BehaviorSubject<boolean>;
    readonly salesOrderToBePickedCompletedChanged: BehaviorSubject<boolean>;
    readonly salesOrderDeliveryCompletedChanged: BehaviorSubject<boolean>;
    readonly invoiceCompletedChanged: BehaviorSubject<boolean>;
    readonly salesOrderAllocateGoodsCompletedChanged: BehaviorSubject<boolean>;
    readonly purchaseOrderReceiveGoodsCompletedChanged: BehaviorSubject<boolean>;
    readonly purchaseOrderConfirmationCompletedChanged: BehaviorSubject<boolean>;
    readonly overwritePurchaseOrderConfirmationCompletedChanged: Subject<void>;
    readonly salesOrderConfirmationSentChanged: BehaviorSubject<boolean>;
    readonly createTransaction: Subject<void>;
    readonly transactionSet: Subject<TransactionInfoResponse>;
    readonly purchaseOrderNavigation: Subject<string>;
    readonly purchaseExistingOrderNavigation: Subject<string>;
    readonly interbranchExistingOrderNavigation: Subject<string>;
    readonly serviceExistingOrderNavigation: Subject<string>;
    readonly salesQuotationOrderNavigation: Subject<string>;
    readonly relationNavigation: Subject<number>;
    readonly articleNavigation: Subject<string>;
    readonly transactionNavigation: Subject<string>;
    readonly transactionCopyNavigation: Subject<string>;
    readonly transactionDeleted: Subject<void>;
    readonly transactionPaymentDone: Subject<void>;
    readonly copyOrder: Subject<void>;
    readonly updateTransactionReferences: Subject<void>;
    readonly transactionLineVisibilityChange: BehaviorSubject<{
        line: TransactionLineInfo;
        visible: boolean;
    }>;
    readonly showError: Subject<{
        message: string;
        localize: boolean;
        details?: string;
    }>;
    readonly headerPopupSaveButtonEnableChange: Subject<boolean>;
    readonly headerPopupSaving: Subject<boolean>;
    readonly headerPopupSaveButtonClick: Subject<void>;
    readonly headerPopupWantsToClose: Subject<void>;
    readonly headerDeliveryHash: Subject<string>;
    readonly headerInvoiceHash: Subject<string>;
    readonly headerPopupClose: Subject<boolean>;
    readonly orderLineSetButtonClick: Subject<void>;
    readonly addDocumentToLineClicked: Subject<TransactionLineInfo>;
    readonly reopenExternalOrderClicked: Subject<{
        set: OrderLineSetInfo;
        articleNr: string;
        transKind: TransactionKind;
    }>;
    readonly activeRubricChange: BehaviorSubject<{
        category: TransactionTypeCategory;
        sidepanel?: boolean;
    }>;
    readonly quantitySelectedLineChanged: BehaviorSubject<boolean>;
    readonly lineSelectedForDelivery: BehaviorSubject<{
        lineUuid: string;
        selected: boolean;
    }>;
    readonly lineSelectedForInvoice: BehaviorSubject<{
        lineUuid: string;
        selected: boolean;
    }>;
    readonly lineSelectedForToPick: Subject<void>;
    readonly allLinesSelectedForDelivery: Subject<void>;
    readonly allLinesSelectedForInvoice: Subject<void>;
    readonly transactionLineDraggedOver: Subject<number>;
    readonly activeCategoryChanged: Subject<TransactionTypeCategory>;
    readonly purchaseOrderLineSelectedAltered: Subject<void>;
    readonly purchaseOrderConfirmationDateSet: BehaviorSubject<Date>;
    readonly orderConfirmationDropped: BehaviorSubject<OrderConfirmationDropped>;
    readonly orderConfirmationReset: Subject<void>;
    readonly requestShowReceiptDialog: Subject<void>;
    readonly posOrderPayed: Subject<void>;
    readonly posOrderVoucherPayment: Subject<void>;
    readonly showLoader: Subject<boolean>;
    readonly showBusyLoader: Subject<boolean>;
    readonly createdSalesOrderFromCashRegisterOrder: Subject<number>;
    readonly reservationModeToggle: Subject<[boolean, PurchaseReservation[]]>;
    readonly reservationSalesOrderLineClicked: Subject<PurchaseReservationPurchaseLine[]>;
    readonly requestCreateServiceOrderFromTransactionLine: Subject<{
        transaction: TransactionInfoResponse;
        lineNr: number;
    }>;
    readonly blockScreen: BehaviorSubject<boolean>;
    readonly saveTransactionClick: Subject<void>;
    readonly cancelTransactionClick: Subject<void>;
    readonly afterAddTransactionLine: Subject<boolean>;
    readonly lockResetRequested: Subject<void>;
    readonly searchServiceTransactionTypeChanged: Subject<void>;
    readonly headerReadOnlyChange: BehaviorSubject<boolean>;
    readonly lineUserFormResponseRequest: BehaviorSubject<{
        formId: number;
        lineNr: number;
    }>;
    readonly transactionCommitted: BehaviorSubject<boolean>;
}
