import React from 'react'; /** * Props for the Title component */ export interface TitleProps extends Omit, 'children'> { /** * The text content for the document title. * Should be descriptive and unique for SEO purposes. */ title: string; /** * Optional prefix to add to the title (e.g., site name). * Will be separated from the main title with a separator. */ prefix?: string; /** * Optional suffix to add to the title (e.g., site name). * Will be separated from the main title with a separator. */ suffix?: string; /** * Separator to use between title parts. * @default " - " */ separator?: string; /** * Maximum length for the title (SEO best practice: ~55-60 chars). * If exceeded, will truncate and add ellipsis. */ maxLength?: number; } /** * Title component that renders an HTML element with SEO and accessibility best practices. * * The title element is crucial for: * - SEO: Search engines use it as the clickable headline in search results * - Accessibility: Screen readers announce the page title when users navigate to the page * - User Experience: Displayed in browser tabs and bookmarks * * SEO Best Practices: * - Keep titles between 30-60 characters (55-60 optimal for Google) * - Make each page title unique within your site * - Put important keywords first * - Avoid keyword stuffing * - Use descriptive, readable titles that entice clicks * * @example * // Basic usage * <Title title="About Us" /> * * @example * // With site branding * <Title * title="Product Details" * suffix="EverShop" * separator=" | " * /> * * @example * // E-commerce product page * <Title * title="iPhone 14 Pro Max - 256GB Space Black" * suffix="TechStore" * maxLength={60} * /> * * @example * // Blog post * <Title * title="10 Tips for Better React Performance" * suffix="Developer Blog" * /> * * @example * // Error page * <Title * title="Page Not Found (404)" * suffix="EverShop" * /> */ export declare function Title({ title, prefix, suffix, separator, maxLength, ...otherProps }: TitleProps): React.ReactElement; /** * Convenience component for product page titles */ export declare function ProductTitle({ productName, category, brand, siteName, separator, maxLength, ...props }: Omit<TitleProps, 'title'> & { productName: string; category?: string; brand?: string; siteName?: string; }): React.ReactElement; /** * Convenience component for category/collection page titles */ export declare function CategoryTitle({ categoryName, itemCount, siteName, separator, maxLength, ...props }: Omit<TitleProps, 'title'> & { categoryName: string; itemCount?: number; siteName?: string; }): React.ReactElement; /** * Convenience component for error page titles */ export declare function ErrorTitle({ errorCode, errorMessage, siteName, separator, ...props }: Omit<TitleProps, 'title'> & { errorCode: number | string; errorMessage?: string; siteName?: string; }): React.ReactElement; /** * Convenience component for search result page titles */ export declare function SearchTitle({ query, resultCount, siteName, separator, maxLength, ...props }: Omit<TitleProps, 'title'> & { query: string; resultCount?: number; siteName?: string; }): React.ReactElement;