import { SerializableBranch, SerializableProperty, SerializableUser } from '../serializers'; interface BaseGAEvent { event?: string; } export interface LeadGAPayload extends BaseGAEvent { 'tracker-version'?: string; formName?: string; formAction?: string; name?: string; action?: string; branchId?: string | number; ga4_lead_type?: string; ga4_custom_lead_name?: string; ga4_branch_id?: string; ga4_brand_name?: string | null; ga4_page_template?: string; ga4_website_platform?: string | null; ga4_branch_type?: string; ga4_department_name?: string; ga4_user_info?: GA4UserInfo; ga4_property_object?: GA4PropertyObject; ga4_element_name?: string; } interface ClickGAEvent extends BaseGAEvent { ga4_branch_id?: number; ga4_branch_type?: 'sales' | 'lettings'; ga4_property_object?: any; ga4_department_name?: string; } export interface EmailGAPayload extends ClickGAEvent { ga4_email_address: string; } export interface PhoneGAPayload extends ClickGAEvent { ga4_phone_number: string; } type GAPayload = LeadGAPayload | EmailGAPayload | PhoneGAPayload; export declare function sendGAEvent(payload: GAPayload): void; interface GA4UserInfo { ga4_user_id?: number | null; ga4_user_type?: string; } interface GA4PropertyObject { ga4_property_address?: string | null; ga4_property_bedrooms?: number | null; ga4_property_brand?: string | null; ga4_property_county?: string | null; ga4_property_description?: string | null; ga4_property_email?: string | null; ga4_property_home_type?: string | null; ga4_property_id?: number | null; ga4_property_latitude?: number | null; ga4_property_live_date?: string | null; ga4_property_longitude?: number | null; ga4_property_office_name?: string | null; ga4_property_postcode?: string | null; ga4_property_price?: string | null; ga4_property_status?: string | null; ga4_property_town?: string | null; ga4_property_transaction?: string | null; ga4_property_type?: string | null; ga4_property_images?: { ga4_property_image_001?: string; ga4_property_image_002?: string; ga4_property_image_003?: string; ga4_property_image_004?: string; ga4_property_image_005?: string; ga4_property_image_006?: string; ga4_property_image_007?: string; ga4_property_image_008?: string; ga4_property_image_009?: string; ga4_property_image_010?: string; ga4_property_image_011?: string; ga4_property_image_012?: string; ga4_property_image_013?: string; ga4_property_image_014?: string; ga4_property_image_015?: string; ga4_property_image_016?: string; ga4_property_image_017?: string; ga4_property_image_018?: string; ga4_property_image_019?: string; ga4_property_image_020?: string; }; } export declare function buildGAPropertyObject(property: SerializableProperty, branch?: SerializableBranch): GA4PropertyObject; export declare function buildGAUserObject(user: SerializableUser): { ga4_user_id: number | null; ga4_user_type: string; }; export declare function buildGAUserTypeString(user: Partial): string; export {}; //# sourceMappingURL=google-analytics.d.ts.map