import { Color } from '@ionic/core'; /** * Aspect ratio options for the glow-card image */ export type GlowCardAspectRatio = '16:9' | '4:3' | '1:1' | '3:2' | '21:9'; /** * CTA (Call-to-Action) configuration for glow-card */ export interface GlowCardCTA { /** CTA text (static) */ text?: string; /** Content key for i18n support */ contentKey?: string; /** Component class name for content lookup */ contentClass?: string; /** Fallback text if contentKey not found */ contentFallback?: string; /** URL to navigate to */ url: string; /** Navigation type */ type: 'internal' | 'tab' | 'browse'; /** Icon name (defaults to 'arrow-forward-outline') */ icon?: string; } /** * Glow effect configuration */ export interface GlowConfig { /** Whether glow is enabled (default: true) */ enabled?: boolean; /** Custom glow color - uses CSS color or Ionic color name */ color?: Color | string; /** Glow intensity (default: 'medium') */ intensity?: 'subtle' | 'medium' | 'intense'; } /** * Event emitted when glow-card is clicked */ export interface GlowCardClickEvent { /** Click target */ target: 'card' | 'cta' | 'image'; /** Optional token for identification */ token?: string; /** CTA URL if CTA was clicked */ url?: string; } /** * Props for val-glow-card component. * * A card component with image, title, description, and animated CTA. * Features hover states with image zoom, expanding CTA link, and glow effect. */ export interface GlowCardMetadata { /** Unique token for event identification */ token?: string; /** Image source URL (optional for no-image variant) */ imageSrc?: string; /** Image alt text (required if imageSrc is provided) */ imageAlt?: string; /** Label text displayed above the title (pill style) */ label?: string; /** Image aspect ratio (default: '16:9') */ aspectRatio?: GlowCardAspectRatio; /** Static title text */ title?: string; /** Title content key for i18n */ titleKey?: string; /** Title content class for i18n lookup */ titleClass?: string; /** Title fallback text */ titleFallback?: string; /** Static description text */ description?: string; /** Description content key for i18n */ descriptionKey?: string; /** Description content class for i18n lookup */ descriptionClass?: string; /** Description fallback text */ descriptionFallback?: string; /** CTA configuration */ cta: GlowCardCTA; /** Glow effect configuration */ glow?: GlowConfig; /** Card background color (optional) */ backgroundColor?: Color | string; /** Show border around the card (default: false) */ bordered?: boolean; /** Border color - uses CSS color or Ionic color name (default: 'medium') */ borderColor?: Color | string; } /** * Factory function to create GlowCardMetadata with defaults */ export declare function createGlowCardProps(overrides: Partial & Pick): GlowCardMetadata;