import { ChangeDetectorRef, OnDestroy, OnInit } from '@angular/core';
import { TransactionLineService } from './service/transaction-line.service';
import { TransactionService } from '../../../service/transaction.service';
import { TransactionBaseComponent } from './transaction-base.component';
import { TransactionHeaderService } from './service/transaction-header.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 { TransactionInfo } from '@colijnit/transactionapi/build/model/transaction-info.bo';
import { TransactionLineInfo } from '@colijnit/transactionapi/build/model/transaction-line-info.bo';
import { TransactionKind } from '@colijnit/transactionapi/build/enum/transaction-kind.enum';
import { OrderLineSetInfo } from '@colijnit/transactionapi/build/model/order-line-set-info.bo';
import { TransactionLineMarginInfo } from '@colijnit/transactionapi/build/model/transaction-line-margin-info.bo';
export declare abstract class TransactionLineBaseComponent extends TransactionBaseComponent implements OnInit, OnDestroy {
    transactionHeaderService: TransactionHeaderService;
    transactionLineService: TransactionLineService;
    transactionEventService: TransactionEventService;
    iconCacheService: IconCacheService;
    screenConfigService: TransactionScreenConfigurationService;
    protected imageService: TransactionImageService;
    protected dictionaryService: DictionaryService;
    protected transactionService: TransactionService;
    protected changeDetector: ChangeDetectorRef;
    get isText(): boolean;
    get isArticle(): boolean;
    set selected(value: boolean);
    get selected(): boolean;
    get transactionKind(): TransactionKind;
    get transactionInfo(): TransactionInfo;
    get orderLineSets(): OrderLineSetInfo[];
    get transactionLine(): TransactionLineInfo;
    get lineHasLogisticalState(): boolean;
    get lineIsOrdered(): boolean;
    get lineIsDelivered(): boolean;
    get lineIsInvoiced(): boolean;
    get lineIsReceived(): boolean;
    get lineQuantityToInvoice(): number;
    get lineQuantityInvoiced(): number;
    get lineQuantityToReceive(): number;
    get lineQuantityReceived(): number;
    get lineQuantityToDeliver(): number;
    get lineQuantityDelivered(): number;
    get lineQuantityToAllocate(): number;
    get lineQuantityAllocated(): number;
    get lineQuantityOrdered(): number;
    get lineQuantityPlanningRequested(): number;
    get lineQuantityPlanningPreferredDateEntered(): number;
    get lineQuantityToBePicked(): number;
    get lineQuantityToBePickedAndPicked(): number;
    get lineQuantityPicked(): number;
    get lineQuantityPlanningFinal(): number;
    get lineQuantityReceivedUnprocessed(): number;
    get lineQuantityReceivedUnprocessedAndProcessed(): number;
    get lineQuantityPurchaseConfirmed(): number;
    get lineQuantityTransportNotification(): number;
    get lineQuantityInvoiceControl(): number;
    get canAllLinesBeDelivered(): boolean;
    get canAllLinesBeInvoiced(): boolean;
    get model(): TransactionLineInfo;
    get visible(): boolean;
    lineMarginInfo: TransactionLineMarginInfo;
    private _lineSubs;
    constructor(transactionHeaderService: TransactionHeaderService, transactionLineService: TransactionLineService, transactionEventService: TransactionEventService, iconCacheService: IconCacheService, screenConfigService: TransactionScreenConfigurationService, imageService: TransactionImageService, dictionaryService: DictionaryService, transactionService: TransactionService, changeDetector: ChangeDetectorRef);
    ngOnInit(): void;
    ngOnDestroy(): void;
    getLineMarginInfoFromHeader(): void;
    protected visibilitySet(): void;
    protected addLineTooltipMessage(message: string): void;
    protected lockTransaction(): Promise<boolean>;
    protected detectChanges(): void;
}
