--- import type { HTMLAttributes } from 'astro/types'; type CommonProps = { id?: string; variant?: 'primary' | 'secondary'; }; type Props = | (HTMLAttributes<'a'> & CommonProps & { href: string; }) | (HTMLAttributes<'button'> & CommonProps); const { variant = 'primary', ...restProps } = Astro.props; --- { 'href' in restProps ? ( ) : ( ) }