import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, OnInit } from '@angular/core';
import { FormMasterService } from '@colijnit/corecomponents_v12';
import { AddressType } from '@colijnit/relationapi/build/enum/address-type.enum';
import { TransactionHeaderPopupBaseComponent } from './transaction-header-popup-base.component';
import { RelationGeneralCfgNames } from '../../../interface/relation-general-cfg-names.interface';
import { RelationContactDetailsCfgNames } from '../../../interface/relation-contact-details-cfg-names.interface';
import { RelationSuggestionsRequest } from '../../../interface/relation-suggestions-request.interface';
import { TransactionService } from '../../../service/transaction.service';
import { TransactionRelationService } from '../../../service/transaction-relation.service';
import { TransactionDialogService } from '../../../service/transaction-dialog.service';
import { RelationSuggestionsService } from '../../../service/relation-suggestions.service';
import { TransactionEventService } from '../../../service/transaction-event.service';
import { IconCacheService } from '../../../service/icon-cache.service';
import { TransactionScreenConfigurationService } from '../../../service/transaction-screen-configuration.service';
import { DictionaryService } from '../../../service/dictionary.service';
import { TransactionImageService } from '../../../service/transaction-image.service';
import { RelationListObject } from '@colijnit/relationapi/build/model/relation-list-object.bo';
import { TransactionHeaderService } from '../../core/base/service/transaction-header.service';
import { Icon } from '../../../enum/icon.enum';
import { TransactionBaseService } from "../../../service/transaction-base.service";
export declare class TransactionHeaderPopupRelationComponent extends TransactionHeaderPopupBaseComponent implements OnInit, AfterViewInit, OnDestroy {
    transactionHeaderService: TransactionHeaderService;
    transactionEventService: TransactionEventService;
    service: TransactionService;
    iconCacheService: IconCacheService;
    transactionScreenConfigurationService: TransactionScreenConfigurationService;
    protected dictionaryService: DictionaryService;
    protected imageService: TransactionImageService;
    protected changeDetector: ChangeDetectorRef;
    protected dialogService: TransactionDialogService;
    protected formMasterService: FormMasterService;
    protected relationService: TransactionRelationService;
    private _suggestionsService;
    private _baseService;
    readonly addressType: typeof AddressType;
    configNames: RelationGeneralCfgNames;
    showPrivacy: boolean;
    showMessageForChangeCustomer: boolean;
    showInvoiceAddress: boolean;
    noLockOnCustomerSet: boolean;
    inputChangeForSuggestions: EventEmitter<RelationSuggestionsRequest>;
    changeCustomerRequested: EventEmitter<void>;
    deliveryAddressLocalHashChange: EventEmitter<string>;
    invoiceAddressLocalHashChange: EventEmitter<string>;
    navigationItems: ElementRef;
    mainItems: ElementRef;
    preferenceItems: ElementRef;
    showClass(): boolean;
    deliveryAddressNawNr: number;
    invoiceAddressNawNr: number;
    deliveryAddressLocalHash: string;
    invoiceAddressLocalHash: string;
    invoiceAddressSameAsDeliveryAddress: boolean;
    categories: string[];
    customerGroup: string;
    readonly icons: typeof Icon;
    contactDetailsConfigNames: RelationContactDetailsCfgNames;
    relationGeneralConfigNames: RelationGeneralCfgNames;
    private _requestForSuggestions;
    private _relationSubs;
    constructor(transactionHeaderService: TransactionHeaderService, transactionEventService: TransactionEventService, service: TransactionService, iconCacheService: IconCacheService, transactionScreenConfigurationService: TransactionScreenConfigurationService, dictionaryService: DictionaryService, imageService: TransactionImageService, changeDetector: ChangeDetectorRef, dialogService: TransactionDialogService, formMasterService: FormMasterService, relationService: TransactionRelationService, _suggestionsService: RelationSuggestionsService, _baseService: TransactionBaseService);
    ngOnInit(): Promise<void>;
    ngAfterViewInit(): void;
    ngOnDestroy(): Promise<void>;
    submit(): boolean;
    requestChangeCustomer(): Promise<void>;
    onRelationSuggestionClick(relationSuggested: RelationListObject): Promise<void>;
    relationSet(): Promise<void>;
    setIndexDeliveryAddress(nawNr: number): Promise<void>;
    setLocalHashDeliveryAddress(localHash: string): Promise<void>;
    setIndexInvoiceAddress(nawNr: number): Promise<void>;
    setLocalHashInvoiceAddress(localHash: string): Promise<void>;
    checkSameAddress(checked: boolean): void;
    handleInputChange(request: RelationSuggestionsRequest): void;
    handleRelationNumberChange(relationNumber: string): void;
    handleNavigationClick(nav: string): void;
    handleChangeCustomGroup(group: string): void;
    showCustomerDetails(): void;
    private _setFirstAddress;
    private _lockRelation;
}
