export type JobCustomerLinkStatus = 'active' | 'revoked' | 'superseded'; /** Const value namespace for {@link JobCustomerLinkStatus}. */ export declare const JobCustomerLinkStatusValue: { readonly Active: "active"; readonly Revoked: "revoked"; readonly Superseded: "superseded"; }; export type JobCustomerLinkDeliveryStatus = 'queued' | 'sent' | 'delivered' | 'failed' | 'undelivered'; /** Const value namespace for {@link JobCustomerLinkDeliveryStatus}. */ export declare const JobCustomerLinkDeliveryStatusValue: { readonly Queued: "queued"; readonly Sent: "sent"; readonly Delivered: "delivered"; readonly Failed: "failed"; readonly Undelivered: "undelivered"; }; export declare class JobCustomerLink { /** The row id doubles as the public bearer token. */ id: string; clientId: number; jobId: number; status: JobCustomerLinkStatus; /** Immutable snapshot of the number the link was sent to (E.164). */ phoneNumber: string; sentAt: Date | null; lastSentAt: Date | null; sendCount: number; deliveryStatus: JobCustomerLinkDeliveryStatus | null; deliveryStatusAt: Date | null; openedAt: Date | null; lastOpenedAt: Date | null; openCount: number; revokedAt: Date | null; revokedBy: string | null; /** Once-per-link cadence latches for the approach / arrived SMS. */ approachSmsSentAt: Date | null; arrivedSmsSentAt: Date | null; createdBy: string; createdAt: Date; modifiedAt: Date | null; generateDefaults(): void; }