import { DoshaAnalytics } from '../../analytics'; import { SupabaseClient } from '@supabase/supabase-js'; import { DoshaCalculationResult, ResolvedPlace, BirthDetails } from '../../types/dosha-api'; import { DoshaImageComponent } from '../../types/image'; export interface DoshaCalculatorProps { /** Optional class name for the container */ className?: string; /** Logo URL (optional) */ logoUrl?: string; /** Optional language selector slot */ languageSelector?: React.ReactNode; /** Whether to show language selector */ showLanguageSelector?: boolean; /** Whether the user is global (hides language toggle when true) */ isGlobal?: boolean; /** Read more reviews link (optional) */ readMoreReviewsHref?: string; /** Supabase project URL - if provided with supabaseAnonKey, a client will be created automatically */ supabaseUrl?: string; /** Supabase anon/publishable key - if provided with supabaseUrl, a client will be created automatically */ supabaseAnonKey?: string; /** Google Maps API key - if provided, place resolution will be handled automatically */ googleMapsApiKey?: string; /** Supabase client for backend submission (Lovable / celestial-puja-finder compatible). Use this if you want to pass a pre-configured client instead of supabaseUrl + supabaseAnonKey. */ supabase?: SupabaseClient | null; /** Resolve birth place string to { lat, lon, tz }. Use this as an alternative to googleMapsApiKey for custom place resolution or dev/testing environments. If both are provided, autocomplete will use googleMapsApiKey but submit will fallback to resolvePlace if coordinates aren't available. */ resolvePlace?: (place: string) => Promise; /** Called with result when calculation succeeds; second arg is birth details for Kundali when available */ onResult?: (result: DoshaCalculationResult, birthDetails?: BirthDetails) => void; /** Called with error message when calculation fails */ onError?: (error: string) => void; /** Render a puja card for the given dosha type (e.g. mangal, kaal-sarp, pitra, shani). Optional: when omitted, package auto-fetches pujas and renders built-in cards. */ renderPujaCard?: (doshaType: string) => React.ReactNode; /** When true, show a loading state in the puja recommendation area (e.g. while host fetches pujas). */ isLoadingPujas?: boolean; /** Optional: render the Kundali chart section (e.g. KundaliCard). When provided, "Go Back" and "Planetary Positions Causing These Doshas" are shown. */ renderKundali?: () => React.ReactNode; /** Optional: id for the kundali section (e.g. "kundali-chart-section") for "View Kundli" deep link. */ kundaliSectionId?: string; /** Optional analytics implementation for tracking user interactions */ analytics?: DoshaAnalytics; /** * Function to get first puja info for the given dosha type. * Optional: when omitted, package auto-fetches pujas and computes CTA info internally. * Return null if no puja is available for that dosha. */ getFirstPujaInfo?: (doshaType: string) => { name: string; price: number; link?: string; } | null; /** Called when Book Puja CTA is clicked (optional, defaults to opening the puja link) */ onBookPujaClick?: () => void; /** Optional image component (e.g. next/image adapter) for optimized images. */ imageComponent?: DoshaImageComponent; } export declare function DoshaCalculator({ className, logoUrl, languageSelector, showLanguageSelector, isGlobal, readMoreReviewsHref, supabaseUrl, supabaseAnonKey, googleMapsApiKey, supabase: supabaseProp, resolvePlace: resolvePlaceProp, onResult, onError, renderPujaCard, isLoadingPujas, renderKundali, kundaliSectionId, analytics, getFirstPujaInfo, onBookPujaClick, imageComponent, }: DoshaCalculatorProps): import("react").JSX.Element;