import React, { AllHTMLAttributes, ReactNode } from 'react';
type TypographySize = 'small' | 'medium' | 'large' | 'lead';
type TypographyColor = 'default' | 'info' | 'warning' | 'error' | 'success';
type TypographyDecoration = 'underline' | 'overline' | 'linethrough';
type TypographyElement = 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
interface BaseTypographyProps extends Omit, 'size'> {
color?: TypographyColor;
decoration?: TypographyDecoration;
italic?: boolean;
bold?: boolean;
gradient?: boolean;
children: ReactNode;
className?: string;
}
interface TitleProps extends BaseTypographyProps {
size?: TypographySize;
}
interface SubtitleProps extends BaseTypographyProps {
elementType?: TypographyElement;
}
interface ParagraphProps extends BaseTypographyProps {
size?: TypographySize;
}
interface MutedProps extends BaseTypographyProps {
size?: TypographySize;
}
interface QuoteProps extends BaseTypographyProps {
size?: TypographySize;
}
type CombinedTypographyProps = TitleProps & SubtitleProps & ParagraphProps & MutedProps & QuoteProps;
type TypographyVariant = 'title' | 'subtitle' | 'paragraph' | 'muted' | 'quote';
interface TypographyProps extends CombinedTypographyProps {
variant: TypographyVariant;
}
declare const Typography: React.ForwardRefExoticComponent>;
export { type TypographyProps, Typography as default };