import 'server-only'; import Model from './model'; import { ErrorResponse } from '../../utils/format-errors'; import { CustomFormParams } from './lead.types'; import type { SavedLeadMarketingMetadata } from '../../lead-marketing-metadata'; export * from './lead.types'; export declare enum LeadType { BookViewingLead = "book_viewing_lead", MortgageLead = "mortgage_lead", ValuationRequestLead = "valuation_request_lead", HometrackValuationRequestLead = "hometrack_valuation_request_lead", OfferLead = "offer_lead", EmailPortalLead = "email_portal_lead", BranchEnquiryLead = "branch_enquiry_lead", BranchDepartmentEnquiryLead = "branch_department_enquiry_lead", AgencyEmployeeEnquiryLead = "agency_employee_enquiry_lead", AgencyRegistrationLead = "agency_registration_lead" } export type LeadParams = { user: { first_name: string; last_name: string; email: string; tel_home?: string | number; tel_mobile?: string | number; postcode?: string; street_address?: string; account_confirmation_status?: string; marketing_preferences_attributes: { opt_in_marketing: string; opt_in_terms: string; opt_in_marketing_url: string; }; }; lead: { message: string; agency_id?: number; agency_employee_id?: number; valuation_reason?: string; property_id?: number; branch_id?: number | null; selling_status?: string; letting_status?: string; is_sales_applicant_at?: string; is_lettings_applicant_at?: string; portal_id?: number; client_booking_date_time?: string; metadata?: { lead_marketing_metadata?: SavedLeadMarketingMetadata[]; }; }; captchaToken?: string; }; export type LeadsApiResponse = { errors?: ErrorResponse; params: LeadParams; error?: string; }; export type CustomLeadsApiResponse = { errors?: ErrorResponse; message?: {}; }; export default class Lead extends Model { static create(leadType: LeadType, leadParams: LeadParams): Promise<{ lead: null; errors: { message: string; }[]; } | { lead: LeadsApiResponse; errors: null; }>; static createFormSubmission(leadParams: CustomFormParams): Promise<{ lead: null; errors: { message: string; }[]; message?: undefined; } | { lead: null; message: {}; errors?: undefined; } | { lead: CustomLeadsApiResponse; errors: null; message?: undefined; }>; static verifyCaptchaToken({ token, activatedDomain, }: { token: string; activatedDomain: string; }): Promise<{ errors: { message: string; }[] | null; }>; } //# sourceMappingURL=lead.d.ts.map