import React, { PropsWithChildren, type JSX } from 'react'; import { HeadingProps, type ImageProps, LinkProps } from '..'; import { type IconProps } from '../Icon'; import type { BaseProps } from '../component-helpers'; export declare const defaultPillarIconColor = "green"; export declare const defaultPillarIconSize = 32; export type PillarProps = React.HTMLAttributes & { /** * The HTML element used to render the Pillar. */ as?: C | 'div' | 'article'; /** * Aligns the pillar content */ align?: 'start' | 'center'; /** * Enables optional border around the pillar content */ hasBorder?: boolean; /** * Allows the pillar to fill the width of its parent container. */ fullWidth?: boolean; } & (C extends 'article' ? PropsWithChildren> : PropsWithChildren>); type PillarImageProps = ImageProps; declare function PillarImage({ className, ...rest }: PillarImageProps): JSX.Element; type IconComponentProps = React.SVGAttributes & { size?: number; }; type IconComponent = React.ComponentType | React.ExoticComponent; type IconElement = React.ReactElement; export type PillarIconProps = Omit & { icon: IconElement | IconComponent; }; declare function PillarIcon({ icon, className, hasBackground, size, ...props }: PillarIconProps): JSX.Element; type PillarHeadingProps = BaseProps & { children: React.ReactNode | React.ReactNode[]; as?: Exclude; } & HeadingProps; type PillarDescriptionProps = PropsWithChildren>; type PillarLinkProps = { href: string; } & Omit & BaseProps; /** * Pillar component: * @see https://primer.style/brand/components/Pillar */ export declare const Pillar: React.ForwardRefExoticComponent>, "ref"> & React.RefAttributes> & { Icon: typeof PillarIcon; Image: typeof PillarImage; Heading: React.ForwardRefExoticComponent & React.RefAttributes>; Description: React.ForwardRefExoticComponent & React.RefAttributes>; Link: React.ForwardRefExoticComponent & React.RefAttributes>; }; export {};