import type { CSSProperties, ReactNode } from "react"; /** * Consumer-facing props for generated Logo SVG components. * * @remarks When to use Logo*Svg vs Logo*: * * Use `Logo*Svg` (inline SVG) when: * - Logos must be visible on first paint (above-the-fold, hero sections, first carousel group) * - Logos need to inherit color via `currentColor` (e.g., inside colored text, links) * * Use `Logo*` (next/image) everywhere else: * - Below the fold, lazy-loaded sections * - Theme-aware rendering (automatic light/dark switching) * - Minimizing HTML document size * * Tradeoff: `Logo*Svg` increases HTML size because SVG markup is inlined. * `Logo*` keeps HTML lightweight but requires an additional image fetch. */ export interface LogoSvgProps extends Omit { autoScale?: boolean; balanced?: boolean; className?: string; height?: number; style?: Omit; } /** * Base component for all generated inline SVG logo components. * Renders logos as inline `` elements with `currentColor` support. * * @private Internal component - not for direct consumer use * * @remarks Logo sizing: * - The `height` prop controls logo height * - Width is auto-calculated from `height * aspectRatio` * - The `balanced` prop applies optical normalization for consistent visual sizing * * @remarks Performance: * - Uses JSX children instead of dangerouslySetInnerHTML for better React reconciliation * - SVG markup is inlined in the HTML for zero-latency rendering on first paint */ export declare const BaseLogoSvg: import("react").NamedExoticComponent; type ReservedCSSProps = "width" | "height"; type AllSVGProps = React.SVGProps; type ReservedSVGProps = "width" | "height" | "fill" | "viewBox"; /** * Internal props for the BaseLogoSvg component. * @private Internal types - not for direct consumer use */ interface BaseLogoSvgProps extends LogoSvgProps { $generated: GeneratedLogoSvgProps; children: ReactNode; } /** * Generated metadata for the logo SVG that is injected at build time. */ export interface GeneratedLogoSvgProps { aspectRatio: number; balancedHeightMultiplier: number; balancedWidthMultiplier: number; height: number; name: string; viewBox: string; } export {}; //# sourceMappingURL=base-logo-svg.d.ts.map