import { ChangeDetectorRef, EventEmitter, OnDestroy, OnInit } from '@angular/core';
import { TransactionAddTextLineRequest } from '@colijnit/transactionapi/build/model/transaction-add-text-line-request.bo';
import { TransactionLineInfo } from '@colijnit/transactionapi/build/model/transaction-line-info.bo';
import { OrderLineSetInfo } from '@colijnit/transactionapi/build/model/order-line-set-info.bo';
import { CdkDrag, CdkDragDrop, CdkDragEnter, CdkDropList } from '@angular/cdk/drag-drop';
import { TransactionTypeCategory } from '../../../enum/transaction-type-category.enum';
import { TransactionEventService } from '../../../service/transaction-event.service';
import { TransactionService } from '../../../service/transaction.service';
import { IconCacheService } from '../../../service/icon-cache.service';
import { Icon } from '../../../enum/icon.enum';
import { TransactionHeaderService } from './service/transaction-header.service';
import { TransactionHeaderBaseComponent } from './transaction-header-base.component';
import { TransactionScreenConfigurationService } from '../../../service/transaction-screen-configuration.service';
import { DictionaryService } from '../../../service/dictionary.service';
import { TransactionImageService } from '../../../service/transaction-image.service';
import { PurchaseConfirmationService } from '../../../service/purchase-confirmation.service';
import { LineSelectionService } from '../../../service/line-selection.service';
export declare abstract class TransactionLinesBaseComponent extends TransactionHeaderBaseComponent implements OnInit, OnDestroy {
    transactionHeaderService: TransactionHeaderService;
    transactionEventService: TransactionEventService;
    service: TransactionService;
    iconCacheService: IconCacheService;
    transactionScreenConfigurationService: TransactionScreenConfigurationService;
    protected dictionaryService: DictionaryService;
    protected imageService: TransactionImageService;
    protected changeDetector: ChangeDetectorRef;
    protected purchaseConfirmationService: PurchaseConfirmationService;
    protected lineSelectionService: LineSelectionService;
    readonly icons: typeof Icon;
    readonly category: typeof TransactionTypeCategory;
    set activeCategory(value: TransactionTypeCategory);
    get activeCategory(): TransactionTypeCategory;
    saveTransactionLine: EventEmitter<TransactionAddTextLineRequest>;
    userActionRequired: boolean;
    set selectedTransactionLine(value: TransactionLineInfo);
    get selectedTransactionLine(): TransactionLineInfo;
    hasComponent: boolean;
    historicTransactionLines: TransactionLineInfo[] | null;
    selectedOrderLineSet: OrderLineSetInfo;
    lineDraggedOver: number;
    private _activeCategory;
    private _subscriptions;
    constructor(transactionHeaderService: TransactionHeaderService, transactionEventService: TransactionEventService, service: TransactionService, iconCacheService: IconCacheService, transactionScreenConfigurationService: TransactionScreenConfigurationService, dictionaryService: DictionaryService, imageService: TransactionImageService, changeDetector: ChangeDetectorRef, purchaseConfirmationService: PurchaseConfirmationService, lineSelectionService: LineSelectionService);
    ngOnInit(): void;
    ngOnDestroy(): void;
    trackByFn(index: number, line: TransactionLineInfo): any;
    handleCanDragDrop: (drag: CdkDrag, drop: CdkDropList) => boolean;
    handleDropListEntered(event: CdkDragEnter<any>): void;
    handleDrop(event: CdkDragDrop<TransactionLineInfo[]>): Promise<void>;
    onDescriptionDblClick(line: TransactionLineInfo): void;
    orderLikeSetConnectionClicked(set: OrderLineSetInfo): void;
    handleVisibilityChange(line: TransactionLineInfo, visible: boolean): void;
}
