import type { Link } from './links'; import type { Phone, Email } from './base'; interface VisualMediaBase { /** The URL of the media file */ src: string; /** The slug for the media */ slug?: string; /** Description of the media for accessibility purposes */ description?: string; /** The title of the media */ title?: string; /** The height of the media in pixels */ height?: number; /** The width of the media in pixels */ width?: number; /** An action when the item is clicked */ action?: { /** The URL to navigate to when the media is clicked */ link: Link | Phone | Email; }; } export type VisualMedia = (VisualMediaBase & { type: 'image'; /** Additional parameters specific to images, such as focal point and alt text. */ parameters?: ImageParameters; }) | (VisualMediaBase & { type: 'video'; /** Additional parameters specific to videos, such as thumbnail, alt text, and whether the video has audio. */ parameters?: VideoParameters; }); type VideoParameters = { /** The URL of the video thumbnail */ thumbnail?: string; /** Alternative text for the video */ alt?: string; /** Whether the video has audio */ hasAudio?: boolean; }; type ImageParameters = { /** The focal point for the image */ focalPoint?: [number, number]; /** The alt text for the image */ alt?: string; }; export {}; //# sourceMappingURL=visualMedia.d.ts.map