import type { PostgresJsDatabase } from "drizzle-orm/postgres-js"; import type { z } from "zod"; import type { addressListQuerySchema, contactPointListQuerySchema, insertAddressSchema, insertContactPointSchema, insertNamedContactSchema, namedContactListQuerySchema, updateAddressSchema, updateContactPointSchema, updateNamedContactSchema } from "./validation.js"; type ContactPointListQuery = z.infer; type CreateContactPointInput = z.infer; type UpdateContactPointInput = z.infer; type AddressListQuery = z.infer; type CreateAddressInput = z.infer; type UpdateAddressInput = z.infer; type NamedContactListQuery = z.infer; type CreateNamedContactInput = z.infer; type UpdateNamedContactInput = z.infer; export declare const identityService: { listContactPoints(db: PostgresJsDatabase, query: ContactPointListQuery): Promise | null; createdAt: Date; updatedAt: Date; }>>; listContactPointsForEntity(db: PostgresJsDatabase, entityType: string, entityId: string): Promise<{ id: string; entityType: string; entityId: string; kind: "email" | "phone" | "mobile" | "whatsapp" | "website" | "sms" | "fax" | "social" | "other"; label: string | null; value: string; normalizedValue: string | null; isPrimary: boolean; notes: string | null; metadata: Record | null; createdAt: Date; updatedAt: Date; }[]>; getContactPointById(db: PostgresJsDatabase, id: string): Promise<{ id: string; entityType: string; entityId: string; kind: "email" | "phone" | "mobile" | "whatsapp" | "website" | "sms" | "fax" | "social" | "other"; label: string | null; value: string; normalizedValue: string | null; isPrimary: boolean; notes: string | null; metadata: Record | null; createdAt: Date; updatedAt: Date; } | null>; createContactPoint(db: PostgresJsDatabase, data: CreateContactPointInput): Promise<{ id: string; entityType: string; entityId: string; kind: "email" | "phone" | "mobile" | "whatsapp" | "website" | "sms" | "fax" | "social" | "other"; createdAt: Date; updatedAt: Date; label: string | null; value: string; normalizedValue: string | null; isPrimary: boolean; notes: string | null; metadata: Record | null; } | null>; updateContactPoint(db: PostgresJsDatabase, id: string, data: UpdateContactPointInput): Promise<{ id: string; entityType: string; entityId: string; kind: "email" | "phone" | "mobile" | "whatsapp" | "website" | "sms" | "fax" | "social" | "other"; label: string | null; value: string; normalizedValue: string | null; isPrimary: boolean; notes: string | null; metadata: Record | null; createdAt: Date; updatedAt: Date; } | null>; deleteContactPoint(db: PostgresJsDatabase, id: string): Promise<{ id: string; } | null>; listAddresses(db: PostgresJsDatabase, query: AddressListQuery): Promise | null; createdAt: Date; updatedAt: Date; }>>; listAddressesForEntity(db: PostgresJsDatabase, entityType: string, entityId: string): Promise<{ id: string; entityType: string; entityId: string; label: "other" | "primary" | "billing" | "shipping" | "mailing" | "meeting" | "service" | "legal"; fullText: string | null; line1: string | null; line2: string | null; city: string | null; region: string | null; postalCode: string | null; country: string | null; latitude: number | null; longitude: number | null; timezone: string | null; isPrimary: boolean; notes: string | null; metadata: Record | null; createdAt: Date; updatedAt: Date; }[]>; getAddressById(db: PostgresJsDatabase, id: string): Promise<{ id: string; entityType: string; entityId: string; label: "other" | "primary" | "billing" | "shipping" | "mailing" | "meeting" | "service" | "legal"; fullText: string | null; line1: string | null; line2: string | null; city: string | null; region: string | null; postalCode: string | null; country: string | null; latitude: number | null; longitude: number | null; timezone: string | null; isPrimary: boolean; notes: string | null; metadata: Record | null; createdAt: Date; updatedAt: Date; } | null>; createAddress(db: PostgresJsDatabase, data: CreateAddressInput): Promise<{ id: string; entityType: string; entityId: string; createdAt: Date; updatedAt: Date; label: "other" | "primary" | "billing" | "shipping" | "mailing" | "meeting" | "service" | "legal"; isPrimary: boolean; notes: string | null; metadata: Record | null; fullText: string | null; line1: string | null; line2: string | null; city: string | null; region: string | null; postalCode: string | null; country: string | null; latitude: number | null; longitude: number | null; timezone: string | null; } | null>; updateAddress(db: PostgresJsDatabase, id: string, data: UpdateAddressInput): Promise<{ id: string; entityType: string; entityId: string; label: "other" | "primary" | "billing" | "shipping" | "mailing" | "meeting" | "service" | "legal"; fullText: string | null; line1: string | null; line2: string | null; city: string | null; region: string | null; postalCode: string | null; country: string | null; latitude: number | null; longitude: number | null; timezone: string | null; isPrimary: boolean; notes: string | null; metadata: Record | null; createdAt: Date; updatedAt: Date; } | null>; deleteAddress(db: PostgresJsDatabase, id: string): Promise<{ id: string; } | null>; listNamedContacts(db: PostgresJsDatabase, query: NamedContactListQuery): Promise | null; createdAt: Date; updatedAt: Date; }>>; listNamedContactsForEntity(db: PostgresJsDatabase, entityType: string, entityId: string): Promise<{ id: string; entityType: string; entityId: string; role: "other" | "primary" | "legal" | "general" | "reservations" | "operations" | "front_desk" | "sales" | "emergency" | "accounting"; name: string; title: string | null; email: string | null; phone: string | null; isPrimary: boolean; notes: string | null; metadata: Record | null; createdAt: Date; updatedAt: Date; }[]>; getNamedContactById(db: PostgresJsDatabase, id: string): Promise<{ id: string; entityType: string; entityId: string; role: "other" | "primary" | "legal" | "general" | "reservations" | "operations" | "front_desk" | "sales" | "emergency" | "accounting"; name: string; title: string | null; email: string | null; phone: string | null; isPrimary: boolean; notes: string | null; metadata: Record | null; createdAt: Date; updatedAt: Date; } | null>; createNamedContact(db: PostgresJsDatabase, data: CreateNamedContactInput): Promise<{ id: string; entityType: string; entityId: string; createdAt: Date; updatedAt: Date; isPrimary: boolean; notes: string | null; metadata: Record | null; role: "other" | "primary" | "legal" | "general" | "reservations" | "operations" | "front_desk" | "sales" | "emergency" | "accounting"; name: string; title: string | null; email: string | null; phone: string | null; } | null>; updateNamedContact(db: PostgresJsDatabase, id: string, data: UpdateNamedContactInput): Promise<{ id: string; entityType: string; entityId: string; role: "other" | "primary" | "legal" | "general" | "reservations" | "operations" | "front_desk" | "sales" | "emergency" | "accounting"; name: string; title: string | null; email: string | null; phone: string | null; isPrimary: boolean; notes: string | null; metadata: Record | null; createdAt: Date; updatedAt: Date; } | null>; deleteNamedContact(db: PostgresJsDatabase, id: string): Promise<{ id: string; } | null>; }; export {};