import type { Falsy, Nullish } from 'mauss/typings';
export interface Props {
/** The primary domain used to construct absolute URLs. */
domain: string;
/** The document title, used in `
` and relevant meta tags. */
title: string;
/** Base path used to resolve relative URLs, such as images or links. */
base?: string;
/**
* The canonical path of the current page.
* Will be prefixed with `domain` to form the full canonical URL.
* Must begin with a leading slash. Use `/` to indicate the root path.
*
* @example "/posts/article-slug-123"
*/
canonical: string;
/** Short description of the page for SEO and social sharing. */
description?: string;
/** List of authors for this page or article. */
authors?: string[];
/** Relevant keywords for SEO. */
keywords?: string[];
/**
* Robots directives for search engines.
* Controls indexing and link-following behavior.
*
* @example "index,follow"
* @example "noindex,nofollow"
*/
robots?: `${'no' | ''}index,${'no' | ''}follow`;
/**
* List of alternate representations of this page.
* Typically used for alternate languages or content types (e.g. RSS, Atom).
*
* @example [{ href: '/rss.xml', type: 'application/rss+xml', title: 'RSS Feed' }]
*/
alternate?: Array<{
href: string;
type: string;
title: string;
}>;
/**
* JSON-LD structured data, usually for rich results in search engines.
* Passed directly into a `