import { RelationKind } from '../enum/relation-kind.enum'; import { RelationNameKind } from '../enum/relation-name-kind.enum'; import { GenderType } from '../enum/gender-type.enum'; import { Address } from './address.bo'; import { ContactOption } from './contact-option.bo'; import { RelationEmployeeFte } from './relation-employee-fte.bo'; import { CommunicationType } from '../enum/communication-type.enum'; import { AddressType } from '../enum/address-type.enum'; import { RelationContactLink } from './relation-contact-link.bo'; import { VatType } from '@colijnit/mainapi/build/enum/vat-type.enum'; import { BusinessObject } from '@colijnit/ioneconnector/build/model/business-object'; export declare class Relation extends BusinessObject { relationId: number; relationType: RelationKind; relationNumber: string; paymentCondition: string; deliveryMethod: string; paymentMethod: string; defaultDiscount: number; startDate: Date; endDate: Date; currencyCode: string; provision: number; language: string; description: string; cocNr: string; active: boolean; eanCode: string; documents: number; block: boolean; creditLimit: number; marginMinimum: number; type: RelationNameKind; firstName: string; familyName: string; initials: string; prefix: string; titleId: number; gender: GenderType; union: string; unionNr: number; arboRegistrationNumber: string; uwvRegistrationNumber: string; citizenServiceNumber: number; bigRegistryNumber: number; workPermit: string; workPermitStartDate: Date; workPermitEndDate: Date; establishmentNumber: string; totalTurnover: number; turnoverCurrencyCode: string; riskProfileId: number; addresses: Address[]; set contactOptions(value: ContactOption[]); get contactOptions(): ContactOption[]; collectiveAgreement: number; absencePercentageGeneral: number; absencePercentageShort: number; absencePercentageMedium: number; absencePercentageLong: number; absencePercentageExtraLong: number; absenceFrequency: number; averageDaysOfAbsence: number; abilityToWork: number; anonymisationRequested: boolean; isAnonymised: boolean; relationEmployeeFtes: RelationEmployeeFte[]; amountOutstanding: number; vatType: VatType; get displayName(): string; get displayInitials(): string; get activeAddresses(): Address[]; get activeInvoiceAdresses(): Address[]; get activeDeliveryAdresses(): Address[]; get primaryDisplayAddress(): Address; get primaryInvoiceAddress(): Address; get primaryDeliveryAddress(): Address; get displayFirstAddress(): string; get displayFirstOrganisation(): string; get displayFirstPostal(): string; get primaryPhoneNumber(): string; get primaryMobileNumber(): string; get primaryPhoneOrMobileNumber(): string; get primaryEmail(): string; get firstDeliveryAddress(): Address; get firstBillingAddress(): Address; get numberOfContactOptions(): number; get numberOfAddresses(): number; avatarImageContentsLoaded: boolean; allDocumentContentsLoaded: boolean; private _contactOptions; private _contactOptionsSequenceLimits; constructor(); getId(): number; addContactOption(option: ContactOption): void; getNewContactOptionSequenceForType(type: string): number; getEmailContactOption(): ContactOption; getEmailContactOptions(): ContactOption[]; getPhoneOrMobileContactOptions(): ContactOption[]; getPhoneContactOption(): ContactOption; getFaxContactOptions(): ContactOption[]; getMobileContactOptions(): ContactOption[]; getSearchAddress(): Address; increaseContactOptionSequence(option: ContactOption): void; decreaseContactOptionSequence(option: ContactOption): void; deactivateAddress(address: Address): void; getNextAddressSequence(): number; getFirstAvailableAddress(order?: AddressType[]): Address; asRelationContactLink(): RelationContactLink; handleContactOptionsChange(): void; enforceUniqueSearchAddressAfterChange(newOrChangedAddr: Address): void; getLowestSequenceOfContactOptionsWithType(type: CommunicationType): ContactOption; getFirstAddressOrCreateNew(): Address; private _getFirstAddress; private _setNewContactOptionSequence; private _syncContactOptionsSequenceLimits; private _setContactOptionsHighestSequence; private _setContactOptionsLowestSequence; private _syncContactOptionsSequenceLimitsByOption; private _getLowestSequenceOfContactOptionsWithType; private _getFirstAddressOfType; private _getEmailAddress; private _getPhoneNumber; }