import React, { type PropsWithChildren } from 'react'; import type { BaseProps } from '../component-helpers'; import { HeadingProps, TextProps } from '../'; /** * Design tokens */ import '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/logosuite/colors-with-modes.css'; import '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/logosuite/base.css'; export type LogoSuiteProps = { /** * The horizontal alignment of the LogoSuite. */ align?: 'start' | 'center' | 'justify'; /** * Whether to render a divider immediately after the LogoSuite. */ hasDivider?: boolean; /** * Test id for the root LogoSuite element. */ 'data-testid'?: string; /** * Alternative presentation */ variant?: 'default' | 'gridline-expressive'; } & BaseProps & React.HTMLAttributes; export type LogoSuiteHeadingProps = BaseProps & HeadingProps & { /** * Whether to visually hide the heading. */ visuallyHidden?: boolean; }; export type LogoSuiteDescriptionProps = BaseProps & TextProps & { children: React.ReactNode | React.ReactNode[]; }; export type LogoSuiteLogoBarProps = BaseProps & { children: React.ReactNode | React.ReactNode[]; /** * The gap between logos */ gap?: 'default' | 'condensed'; /** * Enables an optional marquee effect */ marquee?: boolean; /** * The speed of the marquee effect */ marqueeSpeed?: 'slow' | 'normal' | 'idle'; /** * The stylistic variant of the LogoBar. */ variant?: 'muted' | 'emphasis'; /** * Displays an optional takeover button (as an anchor) on hover/focus. */ takeoverButton?: { label: string; } & Omit, 'children'> & BaseProps; }; /** * Use LogoSuite to present a list of logos, such as sponsors or vendors. * @see https://primer.style/brand/components/LogoSuite */ export declare const LogoSuite: (({ align, children, className, hasDivider, variant, "data-testid": testId, }: PropsWithChildren) => import("react/jsx-runtime").JSX.Element) & { Heading: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>; Description: React.ForwardRefExoticComponent<(Omit & { font?: import("../Text").TextFontVariants; size?: typeof import("../Text").TextSizes[number]; variant?: typeof import("../Text").TextVariants[number]; weight?: import("../Text").TextWeightVariants | import("../Text").ResponsiveWeightMap; align?: "start" | "center" | "end"; hasAntiAliasing?: boolean; } & { as?: typeof import("../Text").TextTags[number]; } & React.HTMLAttributes & { as?: "p"; } & { children: React.ReactNode | React.ReactNode[]; }, "ref"> | Omit & { font?: import("../Text").TextFontVariants; size?: typeof import("../Text").TextSizes[number]; variant?: typeof import("../Text").TextVariants[number]; weight?: import("../Text").TextWeightVariants | import("../Text").ResponsiveWeightMap; align?: "start" | "center" | "end"; hasAntiAliasing?: boolean; } & { as?: typeof import("../Text").TextTags[number]; } & React.HTMLAttributes & BaseProps & { as?: "span"; } & { children: React.ReactNode | React.ReactNode[]; }, "ref"> | Omit & { font?: import("../Text").TextFontVariants; size?: typeof import("../Text").TextSizes[number]; variant?: typeof import("../Text").TextVariants[number]; weight?: import("../Text").TextWeightVariants | import("../Text").ResponsiveWeightMap; align?: "start" | "center" | "end"; hasAntiAliasing?: boolean; } & { as?: typeof import("../Text").TextTags[number]; } & React.HTMLAttributes & BaseProps & { as?: "div"; } & { children: React.ReactNode | React.ReactNode[]; }, "ref"> | Omit & { font?: import("../Text").TextFontVariants; size?: typeof import("../Text").TextSizes[number]; variant?: typeof import("../Text").TextVariants[number]; weight?: import("../Text").TextWeightVariants | import("../Text").ResponsiveWeightMap; align?: "start" | "center" | "end"; hasAntiAliasing?: boolean; } & { as?: typeof import("../Text").TextTags[number]; } & React.HTMLAttributes & BaseProps & { as?: "strong"; } & { children: React.ReactNode | React.ReactNode[]; }, "ref"> | Omit & { font?: import("../Text").TextFontVariants; size?: typeof import("../Text").TextSizes[number]; variant?: typeof import("../Text").TextVariants[number]; weight?: import("../Text").TextWeightVariants | import("../Text").ResponsiveWeightMap; align?: "start" | "center" | "end"; hasAntiAliasing?: boolean; } & { as?: typeof import("../Text").TextTags[number]; } & React.HTMLAttributes & BaseProps & { as?: "em"; } & { children: React.ReactNode | React.ReactNode[]; }, "ref">) & React.RefAttributes>; Logobar: React.ForwardRefExoticComponent & React.RefAttributes>; testIds: { root: string; readonly marqueeGroup: string; }; };