import { ChangeDetectorRef, OnDestroy, OnInit } from '@angular/core';
import { TransactionHeaderService } from './service/transaction-header.service';
import { TransactionInfo } from '@colijnit/transactionapi/build/model/transaction-info.bo';
import { TransactionBaseComponent } from './transaction-base.component';
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 { TransactionService } from '../../../service/transaction.service';
import { Relation } from '@colijnit/relationapi/build/model/relation.bo';
import { TransactionKind } from '@colijnit/transactionapi/build/enum/transaction-kind.enum';
import { TransactionInfoResponse } from '@colijnit/transactionapi/build/model/transaction-info-response.bo';
import { TransactionTotal } from '@colijnit/transactionapi/build/model/transaction-total.bo';
import { RelationKind } from '@colijnit/relationapi/build/enum/relation-kind.enum';
import { TransactionServiceInfo } from '@colijnit/transactionapi/build/model/transaction-service-info.bo';
import { TransactionLineInfo } from '@colijnit/transactionapi/build/model/transaction-line-info.bo';
import { TransactionMarginInfo } from '@colijnit/transactionapi/build/model/transaction-margin-info.bo';
export declare abstract class TransactionHeaderBaseComponent extends TransactionBaseComponent implements OnInit, OnDestroy {
    transactionHeaderService: TransactionHeaderService;
    transactionEventService: TransactionEventService;
    iconCacheService: IconCacheService;
    screenConfigService: TransactionScreenConfigurationService;
    protected imageService: TransactionImageService;
    protected dictionaryService: DictionaryService;
    protected transactionService: TransactionService;
    protected changeDetector: ChangeDetectorRef;
    set forceWritable(value: boolean);
    set transaction(value: TransactionInfoResponse);
    get transaction(): TransactionInfoResponse;
    get transactionInfo(): TransactionInfo;
    get transactionLines(): TransactionLineInfo[];
    get deliveryCostLines(): TransactionLineInfo[];
    get transactionServiceInfo(): TransactionServiceInfo;
    get transactionMarginInfo(): TransactionMarginInfo;
    get transactionTotal(): TransactionTotal;
    get relation(): Relation;
    get relationKind(): RelationKind;
    get transactionKind(): TransactionKind;
    get hasTransactionLines(): boolean;
    get model(): TransactionInfo;
    get hasLinesToDeliver(): boolean;
    get hasLinesToInvoice(): boolean;
    set readonly(value: boolean);
    get readonly(): boolean;
    showDialog: boolean;
    private _headerSubs;
    constructor(transactionHeaderService: TransactionHeaderService, transactionEventService: TransactionEventService, iconCacheService: IconCacheService, screenConfigService: TransactionScreenConfigurationService, imageService: TransactionImageService, dictionaryService: DictionaryService, transactionService: TransactionService, changeDetector: ChangeDetectorRef);
    ngOnInit(): void;
    ngOnDestroy(): void;
    checkValidityAndShowDialog(): Promise<void>;
    protected addHeaderTooltipMessage(message: string): void;
    protected lockTransaction(): Promise<boolean>;
}
