/** * Copyright 2022 Agendize All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at. * * Http://www.apache.org/licenses/LICENSE-2.0. * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import { ImageEntity } from './Image'; import { ConsentEntity } from "./Consent"; import { AddressDto, AddressEntity } from "./Address"; import { PromoteFieldKey } from "./CommonEnum"; export declare class ContactEntity { id?: string; owner?: { userName: string; }; firstName?: string; lastName?: string; email?: string; emailAddresses?: ContactEmailAddressEntity[]; phone?: string; phoneNumbers?: ContactPhoneNumberEntity[]; picture?: ImageEntity; externalId?: string; marketingConsent?: ConsentEntity; marketingOptins?: { email?: { enabled: boolean; }; }; title?: string; gender?: string; tags?: ContactTagEntity[]; companyName?: string; jobTitle?: string; address?: AddressEntity; birthDate?: string; language?: string; languageSpoken?: string; languageUnderstood?: string[]; additionalFieldsTitle?: string; additionalFields?: ContactAdditionalFieldEntity[]; creationDate?: Date; timeZone?: string; fax?: string; notification?: string; reminder?: string; description?: string; isExternal?: boolean; static fromContactDto(dto: ContactDto, isExternal?: boolean): ContactEntity; static toContactDto(entity: ContactEntity): ContactDto; } export declare class ContactAdvancedSearchEntity { firstName?: string; lastName?: string; externalId?: string; email?: string; phone?: string; zipcode?: string; emailMarketing?: boolean; blocked?: boolean; tags?: ContactTagEntity[]; activityDateMin?: string; activityDateMax?: string; showAnonymized?: boolean; constructor(); get countFilter(): number; static toDto(entity: ContactAdvancedSearchEntity): ContactAdvancedSearchDto; } export declare class ContactAdvancedSearchDto { firstName?: string; lastName?: string; externalId?: string; email?: string; phone?: string; zipcode?: string; emailMarketing?: boolean; blocked?: boolean; tags?: ContactTagEntity[]; activityDateMin?: string; activityDateMax?: string; showAnonymized?: boolean; } export declare class ContactPhoneNumberEntity { number: string; primary?: boolean; mobile?: boolean; static fromContactPhoneNumberDto(dto: ContactPhoneNumberDto): ContactPhoneNumberEntity; static toContactPhoneNumberDto(entity: ContactPhoneNumberEntity): ContactPhoneNumberDto; } export declare class ContactEmailAddressEntity { email: string; primary?: boolean; static fromContactEmailAddressDto(dto: ContactEmailAddressDto): ContactEmailAddressEntity; static toContactEmailAddressDto(entity: ContactEmailAddressEntity): ContactEmailAddressDto; } export declare class ContactTagEntity { id?: string; tag: string; color?: string; textColor?: string; static fromContactTagDto(dto: ContactTagDto): ContactTagEntity; static toContactTagDto(entity: ContactTagEntity): ContactTagDto; } export declare class AdditionalFieldsEntity { title?: string; fields?: ContactAdditionalFieldEntity[]; static fromAdditionalFieldsDto(dto: AdditionalFieldsDto): AdditionalFieldsEntity; static toAdditionalFieldsDto(entity: AdditionalFieldsEntity): AdditionalFieldsDto; } export declare class ContactAdditionalFieldEntity { id: string; name: string; mandatory: boolean; value?: string; static fromContactAdditionalFieldDto(dto: ContactAdditionalFieldDto): ContactAdditionalFieldEntity; static toContactAdditionalFieldDto(entity: ContactAdditionalFieldEntity): ContactAdditionalFieldDto; } export declare class ContactDto { id?: string; owner?: { userName: string; }; firstName?: string; lastName?: string; email?: string; emailAddresses?: ContactEmailAddressDto[]; phone?: string; phoneNumbers?: ContactPhoneNumberDto[]; picture?: ImageEntity; externalId?: string; marketingConsent?: ConsentEntity; marketingOptins?: { email?: { enabled: boolean; }; }; title?: string; gender?: string; tags?: ContactTagDto[]; companyName?: string; jobTitle?: string; address?: AddressDto; birthDate?: string; language?: string; languageSpoken?: string; languageUnderstood?: string[]; additionalFieldsTitle?: string; additionalFields?: ContactAdditionalFieldDto[]; creationDate?: string; timeZone?: string; fax?: string; notificationType?: string; reminderType?: string; description?: string; } export declare class ContactPhoneNumberDto { number: string; primary?: boolean; mobile?: boolean; } export declare class ContactEmailAddressDto { email: string; primary?: boolean; } export declare class ContactTagDto { id?: string; tag: string; color?: string; } export declare class ContactAdditionalFieldDto { id: string; name: string; mandatory: boolean; value?: string; } export declare class AdditionalFieldsDto { title?: string; fields?: ContactAdditionalFieldDto[]; } export declare class PromoteFieldEntity { id: string; fieldKey: PromoteFieldKey; account: string; index: number; static fromPromoteFieldDto(dto: PromoteFieldDto): PromoteFieldEntity; static toPromoteFieldDto(entity: PromoteFieldEntity): PromoteFieldDto; } export declare class PromoteFieldDto { id: string; fieldKey: PromoteFieldKey; account: string; index: number; }