export const HUBSPOT_OBJECT_TYPES = ['companies', 'contacts', 'deals'] as const; export type HubSpotObjectType = (typeof HUBSPOT_OBJECT_TYPES)[number]; export const HUBSPOT_REQUIRED_SCOPES = [ 'crm.objects.companies.read', 'crm.objects.contacts.read', 'crm.objects.deals.read', ] as const; export type HubSpotRequiredScope = (typeof HUBSPOT_REQUIRED_SCOPES)[number]; export const HUBSPOT_CONNECTION_STATUSES = [ 'active', 'reauthorization_required', 'disconnected', 'error', ] as const; export type HubSpotConnectionStatus = (typeof HUBSPOT_CONNECTION_STATUSES)[number]; export const HUBSPOT_SYNC_PHASES = ['initial', 'reconcile'] as const; export type HubSpotSyncPhase = (typeof HUBSPOT_SYNC_PHASES)[number]; export const HUBSPOT_EVENT_STATUSES = ['pending', 'processing', 'processed', 'failed'] as const; export type HubSpotEventStatus = (typeof HUBSPOT_EVENT_STATUSES)[number]; export const HUBSPOT_JOB_KINDS = ['full_sync', 'fetch_record', 'reconcile'] as const; export type HubSpotJobKind = (typeof HUBSPOT_JOB_KINDS)[number]; export const HUBSPOT_JOB_STATUSES = ['pending', 'processing', 'completed', 'failed'] as const; export type HubSpotJobStatus = (typeof HUBSPOT_JOB_STATUSES)[number]; export interface HubSpotRecord { id: string; properties: Record; createdAt: string; updatedAt: string; archived: boolean; } export interface HubSpotRecordPage { results: HubSpotRecord[]; nextAfter: string | null; }