import { z } from "zod"; /** * Seating preference enum for flights */ export declare const seatingPreferences: import("drizzle-orm/pg-core").PgEnum<["aisle", "window", "middle", "no_preference"]>; /** * User Profiles * * The user's app profile containing: * - Basic profile info (plain text - searchable) * - App preferences (plain text - low risk) * - Non-sensitive travel preferences (seatingPreference) * - Admin flags (isSuperAdmin, isSupportUser) * * PK is `authUser.id` (Better Auth user ID) — NOT a TypeID. * 1:1 with Better Auth's `user` table. * * Toxic-PII (passport numbers, dietary, accessibility, loyalty, * insurance) lives on `crm.people` — that table is the canonical store * for facts about a human, regardless of whether they ever log in. * Auth-having storefront customers join `auth.user` → `people` via * `(people.source = 'auth.user' AND people.sourceRef = userId)`. */ export declare const userProfilesTable: Omit; firstName: import("drizzle-orm/pg-core").PgColumn<{ name: "first_name"; tableName: "user_profiles"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; lastName: import("drizzle-orm/pg-core").PgColumn<{ name: "last_name"; tableName: "user_profiles"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; avatarUrl: import("drizzle-orm/pg-core").PgColumn<{ name: "avatar_url"; tableName: "user_profiles"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; locale: import("drizzle-orm/pg-core").PgColumn<{ name: "locale"; tableName: "user_profiles"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; timezone: import("drizzle-orm/pg-core").PgColumn<{ name: "timezone"; tableName: "user_profiles"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; uiPrefs: import("drizzle-orm/pg-core").PgColumn<{ name: "ui_prefs"; tableName: "user_profiles"; dataType: "json"; columnType: "PgJsonb"; data: Record; driverParam: unknown; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, { $type: Record; }>; seatingPreference: import("drizzle-orm/pg-core").PgColumn<{ name: "seating_preference"; tableName: "user_profiles"; dataType: "string"; columnType: "PgEnumColumn"; data: "aisle" | "window" | "middle" | "no_preference"; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["aisle", "window", "middle", "no_preference"]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; isSuperAdmin: import("drizzle-orm/pg-core").PgColumn<{ name: "is_super_admin"; tableName: "user_profiles"; dataType: "boolean"; columnType: "PgBoolean"; data: boolean; driverParam: boolean; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; isSupportUser: import("drizzle-orm/pg-core").PgColumn<{ name: "is_support_user"; tableName: "user_profiles"; dataType: "boolean"; columnType: "PgBoolean"; data: boolean; driverParam: boolean; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; termsAcceptedAt: import("drizzle-orm/pg-core").PgColumn<{ name: "terms_accepted_at"; tableName: "user_profiles"; dataType: "date"; columnType: "PgTimestamp"; data: Date; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; notificationDefaults: import("drizzle-orm/pg-core").PgColumn<{ name: "notification_defaults"; tableName: "user_profiles"; dataType: "json"; columnType: "PgJsonb"; data: Record; driverParam: unknown; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, { $type: Record; }>; marketingConsent: import("drizzle-orm/pg-core").PgColumn<{ name: "marketing_consent"; tableName: "user_profiles"; dataType: "boolean"; columnType: "PgBoolean"; data: boolean; driverParam: boolean; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; marketingConsentAt: import("drizzle-orm/pg-core").PgColumn<{ name: "marketing_consent_at"; tableName: "user_profiles"; dataType: "date"; columnType: "PgTimestamp"; data: Date; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; marketingConsentSource: import("drizzle-orm/pg-core").PgColumn<{ name: "marketing_consent_source"; tableName: "user_profiles"; dataType: "string"; columnType: "PgText"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; lastActiveAt: import("drizzle-orm/pg-core").PgColumn<{ name: "last_active_at"; tableName: "user_profiles"; dataType: "date"; columnType: "PgTimestamp"; data: Date; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; createdAt: import("drizzle-orm/pg-core").PgColumn<{ name: "created_at"; tableName: "user_profiles"; dataType: "date"; columnType: "PgTimestamp"; data: Date; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; updatedAt: import("drizzle-orm/pg-core").PgColumn<{ name: "updated_at"; tableName: "user_profiles"; dataType: "date"; columnType: "PgTimestamp"; data: Date; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}, {}>; }; dialect: "pg"; }>, "enableRLS">; export type InsertUserProfile = typeof userProfilesTable.$inferInsert; export type SelectUserProfile = typeof userProfilesTable.$inferSelect; export declare const userProfileInsertSchema: z.ZodObject<{ id: z.ZodString; firstName: z.ZodNullable>; lastName: z.ZodNullable>; avatarUrl: z.ZodNullable>; locale: z.ZodDefault; timezone: z.ZodNullable>; uiPrefs: z.ZodNullable>>; seatingPreference: z.ZodNullable>>; isSuperAdmin: z.ZodDefault; isSupportUser: z.ZodDefault; termsAcceptedAt: z.ZodNullable>; notificationDefaults: z.ZodNullable>>; marketingConsent: z.ZodDefault; marketingConsentAt: z.ZodNullable>; marketingConsentSource: z.ZodNullable>; lastActiveAt: z.ZodNullable>; }, z.core.$strip>; export declare const userProfileUpdateSchema: z.ZodObject<{ locale: z.ZodOptional>; timezone: z.ZodOptional>>; firstName: z.ZodOptional>>; lastName: z.ZodOptional>>; avatarUrl: z.ZodOptional>>; uiPrefs: z.ZodOptional>>>; seatingPreference: z.ZodOptional>>>; isSuperAdmin: z.ZodOptional>; isSupportUser: z.ZodOptional>; termsAcceptedAt: z.ZodOptional>>; notificationDefaults: z.ZodOptional>>>; marketingConsent: z.ZodOptional>; marketingConsentAt: z.ZodOptional>>; marketingConsentSource: z.ZodOptional>>; lastActiveAt: z.ZodOptional>>; }, z.core.$strip>; export declare const userProfileSelectSchema: z.ZodObject<{ id: z.ZodString; firstName: z.ZodNullable>; lastName: z.ZodNullable>; avatarUrl: z.ZodNullable>; locale: z.ZodDefault; timezone: z.ZodNullable>; uiPrefs: z.ZodNullable>>; seatingPreference: z.ZodNullable>>; isSuperAdmin: z.ZodDefault; isSupportUser: z.ZodDefault; termsAcceptedAt: z.ZodNullable>; notificationDefaults: z.ZodNullable>>; marketingConsent: z.ZodDefault; marketingConsentAt: z.ZodNullable>; marketingConsentSource: z.ZodNullable>; lastActiveAt: z.ZodNullable>; createdAt: z.ZodDate; updatedAt: z.ZodDate; }, z.core.$strip>; export type UserProfile = z.infer; export type NewUserProfile = z.infer; export type UpdateUserProfile = z.infer; /** * Decrypted user profile shape — toxic-PII fields (documents, dietary, * accessibility, loyalty, insurance) now live on `crm.people` and are * decrypted by the CRM service rather than user_profiles. */ export declare const decryptedUserProfileSchema: z.ZodObject<{ id: z.ZodString; firstName: z.ZodNullable; lastName: z.ZodNullable; avatarUrl: z.ZodNullable; locale: z.ZodString; timezone: z.ZodNullable; uiPrefs: z.ZodNullable>; seatingPreference: z.ZodNullable; isSuperAdmin: z.ZodBoolean; isSupportUser: z.ZodBoolean; termsAcceptedAt: z.ZodNullable; notificationDefaults: z.ZodNullable>; marketingConsent: z.ZodBoolean; marketingConsentAt: z.ZodNullable; marketingConsentSource: z.ZodNullable; lastActiveAt: z.ZodNullable; createdAt: z.ZodDate; updatedAt: z.ZodDate; }, z.core.$strip>; export type DecryptedUserProfile = z.infer; //# sourceMappingURL=user_profiles.d.ts.map