/**
 * @example
 *     {
 *         event_name: "video_played",
 *         identifiers: {}
 *     }
 */
export interface CreateEventRequest {
    /** Properties defining the state of the contact associated to this event. Useful to update contact attributes defined in your contacts database while passing the event. For example: **"FIRSTNAME": "Jane" , "AGE": 37** */
    contact_properties?: Record<string, CreateEventRequest.ContactProperties.Value>;
    /** Timestamp of when the event occurred (e.g. "2024-01-24T17:39:57+01:00"). If no value is passed, the timestamp of the event creation is used. */
    event_date?: string;
    /** The name of the event that occurred. This is how you will find your event in Brevo. Limited to 255 characters, alphanumerical characters and - _ only. */
    event_name: string;
    /** Properties of the event. Top level properties and nested properties can be used to better segment contacts and personalise workflow conditions. The following field type are supported: string, number, boolean (true/false), date (Timestamp e.g. "2024-01-24T17:39:57+01:00"). Keys are limited to 255 characters, alphanumerical characters and - _ only. Size is limited to 50Kb. */
    event_properties?: Record<string, CreateEventRequest.EventProperties.Value>;
    /** Identifies the contact associated with the event. At least one identifier is required. */
    identifiers: CreateEventRequest.Identifiers;
    /** Identifiers of the object record associated with this event. Ignored if the object type or identifier for this record does not exist on the account. */
    object?: CreateEventRequest.Object_;
}
export declare namespace CreateEventRequest {
    namespace ContactProperties {
        type Value = string | number | boolean;
    }
    namespace EventProperties {
        type Value = string | number | boolean | Record<string, unknown> | unknown[];
    }
    /**
     * Identifies the contact associated with the event. At least one identifier is required.
     */
    interface Identifiers {
        /** Internal unique contact ID. When present, this takes priority over all other identifiers for event attribution and contact resolution. */
        contact_id?: number | undefined;
        /** Email Id associated with the event */
        email_id?: string | undefined;
        /** ext_id associated with the event */
        ext_id?: string | undefined;
        /** landline_number associated with the event */
        landline_number_id?: string | undefined;
        /** SMS associated with the event */
        phone_id?: string | undefined;
        /** whatsapp associated with the event */
        whatsapp_id?: string | undefined;
    }
    /**
     * Identifiers of the object record associated with this event. Ignored if the object type or identifier for this record does not exist on the account.
     */
    interface Object_ {
        /** Identifiers for the object. */
        identifiers?: Object_.Identifiers | undefined;
        /** Type of object (e.g., subscription, vehicle, etc.) */
        type?: string | undefined;
    }
    namespace Object_ {
        /**
         * Identifiers for the object.
         */
        interface Identifiers {
            /** External object ID */
            ext_id?: string | undefined;
            /** Internal object ID */
            id?: string | undefined;
        }
    }
}
