/**
 * UCX Proxy
 * A single use API for the UCX Proxy.
 *
 * The version of the OpenAPI document: 0.0.12
 * Contact: customersuccess@equisoft.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import type { IncomeSchema } from './IncomeSchema';
import type { MaritalStatus } from './MaritalStatus';
import type { CivilityTitle } from './CivilityTitle';
import type { EmailSchema } from './EmailSchema';
import type { AddressSchema } from './AddressSchema';
import type { ContactLanguage } from './ContactLanguage';
import type { PhoneSchema } from './PhoneSchema';
import type { Gender } from './Gender';
import type { SmokerStatus } from './SmokerStatus';
/**
 *
 * @export
 * @interface ContactSchema
 */
export interface ContactSchema {
    /**
     *
     * @type {string}
     * @memberof ContactSchema
     */
    uniqueIdentifier: string;
    /**
     *
     * @type {string}
     * @memberof ContactSchema
     */
    externalIdentifier: string;
    /**
     *
     * @type {string}
     * @memberof ContactSchema
     */
    firstName?: string | null;
    /**
     *
     * @type {string}
     * @memberof ContactSchema
     */
    middleName?: string | null;
    /**
     *
     * @type {string}
     * @memberof ContactSchema
     */
    lastName?: string | null;
    /**
     *
     * @type {string}
     * @memberof ContactSchema
     */
    suffix?: string | null;
    /**
     *
     * @type {CivilityTitle}
     * @memberof ContactSchema
     */
    civilityTitle?: CivilityTitle | null;
    /**
     *
     * @type {Gender}
     * @memberof ContactSchema
     */
    gender?: Gender | null;
    /**
     *
     * @type {MaritalStatus}
     * @memberof ContactSchema
     */
    maritalStatus?: MaritalStatus | null;
    /**
     *
     * @type {Date}
     * @memberof ContactSchema
     */
    dateOfBirth?: Date | null;
    /**
     *
     * @type {ContactLanguage}
     * @memberof ContactSchema
     */
    language?: ContactLanguage | null;
    /**
     *
     * @type {IncomeSchema}
     * @memberof ContactSchema
     */
    income?: IncomeSchema | null;
    /**
     *
     * @type {SmokerStatus}
     * @memberof ContactSchema
     */
    smokerStatus?: SmokerStatus | null;
    /**
     *
     * @type {Array<AddressSchema>}
     * @memberof ContactSchema
     */
    addresses: Array<AddressSchema>;
    /**
     *
     * @type {Array<PhoneSchema>}
     * @memberof ContactSchema
     */
    phones: Array<PhoneSchema>;
    /**
     *
     * @type {Array<EmailSchema>}
     * @memberof ContactSchema
     */
    emails: Array<EmailSchema>;
}
/**
 * Check if a given object implements the ContactSchema interface.
 */
export declare function instanceOfContactSchema(value: object): value is ContactSchema;
export declare function ContactSchemaFromJSON(json: any): ContactSchema;
export declare function ContactSchemaFromJSONTyped(json: any, ignoreDiscriminator: boolean): ContactSchema;
export declare function ContactSchemaToJSON(json: any): ContactSchema;
export declare function ContactSchemaToJSONTyped(value?: ContactSchema | null, ignoreDiscriminator?: boolean): any;
