import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, OnInit } from '@angular/core';
import { FormMasterService } from '@colijnit/corecomponents_v12';
import { RelationKind } from '@colijnit/relationapi/build/enum/relation-kind.enum';
import { AddressType } from '@colijnit/relationapi/build/enum/address-type.enum';
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 { RelationAnyType } from '../../../model/relation-any-type';
import { TransactionCfgName } from "../../../enum/transaction-cfg-name.enum";
import { TransactionInfoResponse } from "@colijnit/transactionapi/build/model/transaction-info-response.bo";
import { RelationContactLink } from '@colijnit/relationapi/build/model/relation-contact-link.bo';
export declare class ServiceWizardRelationComponent implements OnInit, AfterViewInit, OnDestroy {
    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;
    readonly addressType: typeof AddressType;
    readonly relKind: typeof RelationKind;
    readonly cfgNames: typeof TransactionCfgName;
    configNames: RelationGeneralCfgNames;
    forceReadonly: boolean;
    showPrivacy: boolean;
    showMessageForChangeCustomer: boolean;
    showInvoiceAddress: boolean;
    noLockOnCustomerSet: boolean;
    customerPortal: boolean;
    set relation(value: RelationAnyType);
    get relation(): RelationAnyType;
    set transaction(value: TransactionInfoResponse);
    get transaction(): TransactionInfoResponse;
    inputChangeForSuggestions: EventEmitter<RelationSuggestionsRequest>;
    changeCustomerRequested: EventEmitter<void>;
    relationChange: EventEmitter<RelationAnyType>;
    transactionChange: EventEmitter<TransactionInfoResponse>;
    navigationItems: ElementRef;
    mainItems: ElementRef;
    preferenceItems: ElementRef;
    showClass(): boolean;
    deliveryAddressNawNr: number;
    invoiceAddressNawNr: number;
    invoiceAddressSameAsDeliveryAddress: boolean;
    categories: string[];
    customerGroup: string;
    vatPayment: boolean;
    vatCode: number;
    contactPerson: RelationContactLink;
    showContactPersonDialog: boolean;
    contactDetailsConfigNames: RelationContactDetailsCfgNames;
    relationGeneralConfigNames: RelationGeneralCfgNames;
    private _relation;
    private _transaction;
    private _requestForSuggestions;
    private _relationSubs;
    constructor(transactionEventService: TransactionEventService, service: TransactionService, iconCacheService: IconCacheService, transactionScreenConfigurationService: TransactionScreenConfigurationService, dictionaryService: DictionaryService, imageService: TransactionImageService, changeDetector: ChangeDetectorRef, dialogService: TransactionDialogService, formMasterService: FormMasterService, relationService: TransactionRelationService, _suggestionsService: RelationSuggestionsService);
    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>;
    setIndexInvoiceAddress(nawNr: number): Promise<void>;
    checkSameAddress(checked: boolean): void;
    handleInputChange(request: RelationSuggestionsRequest): void;
    handleNavigationClick(nav: string): void;
    handleChangeCustomGroup(group: string): void;
    handleContactPersonChange(contactPerson: RelationContactLink): void;
    handleContactPersonInfoOpen(): void;
    protected transactionSet(): void;
    handleVatPaymentChange(vat: boolean): void;
    handleVatCodeChange(vatCode: number): void;
    private _setFirstAddress;
    private _lockRelation;
}
