import { z } from 'zod'; /** * Zod schema for the User model. * Defines the structure and validation rules for this data type. * This is the shape used in application code - what developers interact with. */ export declare const user: z.ZodLazy>; customAttributes: z.ZodNullable>; email: z.ZodNullable>; externalId: z.ZodNullable>; firstName: z.ZodNullable>; id: z.ZodOptional; lastName: z.ZodNullable>; lastNotifiedAt: z.ZodNullable>; lastSeenAt: z.ZodNullable>; updatedAt: z.ZodNullable>; }, "strip", z.ZodTypeAny, { createdAt?: string | null | undefined; customAttributes?: any; email?: string | null | undefined; externalId?: string | null | undefined; firstName?: string | null | undefined; id?: string | undefined; lastName?: string | null | undefined; lastNotifiedAt?: string | null | undefined; lastSeenAt?: string | null | undefined; updatedAt?: string | null | undefined; }, { createdAt?: string | null | undefined; customAttributes?: any; email?: string | null | undefined; externalId?: string | null | undefined; firstName?: string | null | undefined; id?: string | undefined; lastName?: string | null | undefined; lastNotifiedAt?: string | null | undefined; lastSeenAt?: string | null | undefined; updatedAt?: string | null | undefined; }>>; /** * * @typedef {User} user * @property {string} - The timestamp when the user was created. * @property {any} - Arbitrary custom values stored on the user. * @property {string} - The primary email address of the user. * @property {string} - The user identifier from an external system. * @property {string} - The first name of the user. * @property {string} - The unique identifier for the user. * @property {string} - The last name of the user. * @property {string} - The timestamp when the user last received a notification. * @property {string} - The timestamp when the user last opened the inbox. * @property {string} - The timestamp when the user was last updated. */ export type User = z.infer; /** * Zod schema for mapping API responses to the User application shape. * Handles any property name transformations from the API schema. * If property names match the API schema exactly, this is identical to the application shape. */ export declare const userResponse: z.ZodLazy>; custom_attributes: z.ZodNullable>; email: z.ZodNullable>; external_id: z.ZodNullable>; first_name: z.ZodNullable>; id: z.ZodOptional; last_name: z.ZodNullable>; last_notified_at: z.ZodNullable>; last_seen_at: z.ZodNullable>; updated_at: z.ZodNullable>; }, "strip", z.ZodTypeAny, { email?: string | null | undefined; id?: string | undefined; created_at?: string | null | undefined; custom_attributes?: any; external_id?: string | null | undefined; first_name?: string | null | undefined; last_name?: string | null | undefined; last_notified_at?: string | null | undefined; last_seen_at?: string | null | undefined; updated_at?: string | null | undefined; }, { email?: string | null | undefined; id?: string | undefined; created_at?: string | null | undefined; custom_attributes?: any; external_id?: string | null | undefined; first_name?: string | null | undefined; last_name?: string | null | undefined; last_notified_at?: string | null | undefined; last_seen_at?: string | null | undefined; updated_at?: string | null | undefined; }>, { createdAt: string | null | undefined; customAttributes: any; email: string | null | undefined; externalId: string | null | undefined; firstName: string | null | undefined; id: string | undefined; lastName: string | null | undefined; lastNotifiedAt: string | null | undefined; lastSeenAt: string | null | undefined; updatedAt: string | null | undefined; }, { email?: string | null | undefined; id?: string | undefined; created_at?: string | null | undefined; custom_attributes?: any; external_id?: string | null | undefined; first_name?: string | null | undefined; last_name?: string | null | undefined; last_notified_at?: string | null | undefined; last_seen_at?: string | null | undefined; updated_at?: string | null | undefined; }>>; /** * Zod schema for mapping the User application shape to API requests. * Handles any property name transformations required by the API schema. * If property names match the API schema exactly, this is identical to the application shape. */ export declare const userRequest: z.ZodLazy>; customAttributes: z.ZodNullable>; email: z.ZodNullable>; externalId: z.ZodNullable>; firstName: z.ZodNullable>; id: z.ZodOptional; lastName: z.ZodNullable>; lastNotifiedAt: z.ZodNullable>; lastSeenAt: z.ZodNullable>; updatedAt: z.ZodNullable>; }, "strip", z.ZodTypeAny, { createdAt?: string | null | undefined; customAttributes?: any; email?: string | null | undefined; externalId?: string | null | undefined; firstName?: string | null | undefined; id?: string | undefined; lastName?: string | null | undefined; lastNotifiedAt?: string | null | undefined; lastSeenAt?: string | null | undefined; updatedAt?: string | null | undefined; }, { createdAt?: string | null | undefined; customAttributes?: any; email?: string | null | undefined; externalId?: string | null | undefined; firstName?: string | null | undefined; id?: string | undefined; lastName?: string | null | undefined; lastNotifiedAt?: string | null | undefined; lastSeenAt?: string | null | undefined; updatedAt?: string | null | undefined; }>, { created_at: string | null | undefined; custom_attributes: any; email: string | null | undefined; external_id: string | null | undefined; first_name: string | null | undefined; id: string | undefined; last_name: string | null | undefined; last_notified_at: string | null | undefined; last_seen_at: string | null | undefined; updated_at: string | null | undefined; }, { createdAt?: string | null | undefined; customAttributes?: any; email?: string | null | undefined; externalId?: string | null | undefined; firstName?: string | null | undefined; id?: string | undefined; lastName?: string | null | undefined; lastNotifiedAt?: string | null | undefined; lastSeenAt?: string | null | undefined; updatedAt?: string | null | undefined; }>>; //# sourceMappingURL=user.d.ts.map