export declare const RECIPE_CARD_SHOW_ANALYTICS_PATH = "/recipes"; /** Same visibility rule as `mealz-recipe-card`: IntersectionObserver ratio ≥ this value. */ export declare const RECIPE_CARD_SHOW_VISIBILITY_THRESHOLD = 0.8; /** Same timing as `mealz-recipe-card`: debounce on intersection stream (ms). */ export declare const RECIPE_CARD_SHOW_DEBOUNCE_MS = 1000; export interface AttachRecipeCardShowTrackingOptions { /** Root element of the custom recipe card (observed for viewport intersection). */ element: HTMLElement; recipeId: string; /** Mealz category id for `category_id` on `recipe.show`; omit when not in a category context. */ categoryId?: string; /** Analytics path prefix; defaults to {@link RECIPE_CARD_SHOW_ANALYTICS_PATH}. */ analyticsPath?: string; } export interface RecipeCardShowTrackingHandle { disconnect: () => void; } /** * Same `recipe.show` pipeline as `mealz-recipe-card`: viewport visibility + deduped tracking. * Call `disconnect()` when the host node is removed (virtual lists, SPA navigation). */ export declare function attachRecipeCardShowTracking(options: AttachRecipeCardShowTrackingOptions): RecipeCardShowTrackingHandle; //# sourceMappingURL=attach-recipe-card-show-tracking.d.ts.map