import { type ComponentPropsWithoutRef } from 'react'; import { type VariantProps } from 'class-variance-authority'; declare const logoSize: (props?: ({ size?: "sm" | "md" | "lg" | "xl" | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string; type LogoVariant = 'mark' | 'wordmark' | 'monochrome'; type LogoSizeProps = VariantProps; type LogoBase = { /** * Which glyph to render. * - `wordmark` (default): bicolor Main logo — blue-500 wordmark + violet-500 mark on light. * - `mark`: the "A" glyph alone. Inherits `currentColor` (defaults to `--primary`). * - `monochrome`: the full wordmark in a single `currentColor` ink * (defaults to `--foreground`). */ variant?: LogoVariant; /** * Colour resolution. `auto` (default) uses the variant's intended * ink (`--primary` for `mark`, `--foreground` for `monochrome`). * `inherit` makes the wrapper use `currentColor` so the logo picks * up the surrounding text colour — use when dropping the mark on * top of a coloured surface where the default ink would clash. */ tone?: 'auto' | 'inherit'; /** * Run the prism: the four pieces of the mark drift through the brand * hues, one after another, at the pace of the kit's default `Spinner` * (`usePrism`). For `wordmark` and `mark`; `monochrome` is one ink by * definition and ignores it. * * - `true`: the drift plays for just under five seconds and settles on * the logo's own colours. It does not play under reduced motion, in the * accessible themes or in forced colours. * - `'loop'`: the drift never stops (it still holds for reduced motion * and forced colours). Motion that loops beside other content needs a * way to pause it (WCAG 2.2.2), so keep this for a screen that is * itself short-lived, or for developers only. */ prism?: boolean | 'loop'; className?: string; } & LogoSizeProps; type LogoA11y = { /** Non-decorative usage — accessible name read by assistive tech. */ 'aria-label': string; decorative?: never; } | { 'aria-label'?: never; /** * Decorative usage — the logo is hidden from assistive tech. Use when * the logo sits next to a text wordmark that already announces the * brand, or when it is ornamental only. */ decorative: true; }; export type LogoProps = LogoBase & LogoA11y & Omit, 'role' | 'aria-label' | 'aria-hidden' | 'className'>; export declare const Logo: import("react").ForwardRefExoticComponent>; export {}; //# sourceMappingURL=logo.d.ts.map