import type { ComponentType, ElementType, PropsWithChildren, ReactNode } from 'react';
import type { Except } from 'type-fest';
import type { IconProps } from '../Icon';
import type { DefaultLinkImplementationProps, LinkImplementationRequiredProps, LinkProps } from '../Link';
type TypographyHeaderType = `header${'1' | '2' | '3' | '4' | '5'}`;
type TypographyBodyType = 'body' | `body-${'large' | 'medium' | 'small' | 'xsmall'}`;
type TypographyType = TypographyHeaderType | TypographyBodyType;
type TypographyVariant = 'regular' | 'bold';
type TypographyColor = 'black' | 'black-anthracite' | 'black-light' | 'white' | 'white-light' | 'primary' | 'accent' | 'success' | 'danger';
interface TypographyTagBaseProps {
className?: string;
}
export interface TypographyProps
{
tag: ElementType
;
color?: TypographyColor;
variant?: TypographyVariant;
base?: TypographyType;
small?: TypographyType;
medium?: TypographyType;
large?: TypographyType;
}
/** @deprecated use Typography from kitt-universal instead */
export declare function Typography
>(props: TypographyProps
& P): ReactNode;
export declare namespace Typography {
var h1: ComponentType<{
color?: TypographyColor | undefined;
variant?: TypographyVariant | undefined;
base?: TypographyType | undefined;
small?: TypographyType | undefined;
medium?: TypographyType | undefined;
large?: TypographyType | undefined;
} & import("react").ClassAttributes & import("react").HTMLAttributes & {
children?: ReactNode;
}>;
var h2: ComponentType<{
color?: TypographyColor | undefined;
variant?: TypographyVariant | undefined;
base?: TypographyType | undefined;
small?: TypographyType | undefined;
medium?: TypographyType | undefined;
large?: TypographyType | undefined;
} & import("react").ClassAttributes & import("react").HTMLAttributes & {
children?: ReactNode;
}>;
var h3: ComponentType<{
color?: TypographyColor | undefined;
variant?: TypographyVariant | undefined;
base?: TypographyType | undefined;
small?: TypographyType | undefined;
medium?: TypographyType | undefined;
large?: TypographyType | undefined;
} & import("react").ClassAttributes & import("react").HTMLAttributes & {
children?: ReactNode;
}>;
var h4: ComponentType<{
color?: TypographyColor | undefined;
variant?: TypographyVariant | undefined;
base?: TypographyType | undefined;
small?: TypographyType | undefined;
medium?: TypographyType | undefined;
large?: TypographyType | undefined;
} & import("react").ClassAttributes & import("react").HTMLAttributes & {
children?: ReactNode;
}>;
var h5: ComponentType<{
color?: TypographyColor | undefined;
variant?: TypographyVariant | undefined;
base?: TypographyType | undefined;
small?: TypographyType | undefined;
medium?: TypographyType | undefined;
large?: TypographyType | undefined;
} & import("react").ClassAttributes & import("react").HTMLAttributes & {
children?: ReactNode;
}>;
var div: ComponentType<{
color?: TypographyColor | undefined;
variant?: TypographyVariant | undefined;
base?: TypographyType | undefined;
small?: TypographyType | undefined;
medium?: TypographyType | undefined;
large?: TypographyType | undefined;
} & import("react").ClassAttributes & import("react").HTMLAttributes & {
children?: ReactNode;
}>;
var span: ComponentType<{
color?: TypographyColor | undefined;
variant?: TypographyVariant | undefined;
base?: TypographyType | undefined;
small?: TypographyType | undefined;
medium?: TypographyType | undefined;
large?: TypographyType | undefined;
} & import("react").ClassAttributes & import("react").HTMLAttributes & {
children?: ReactNode;
}>;
var Text: ComponentType<{
color?: TypographyColor | undefined;
variant?: TypographyVariant | undefined;
base?: TypographyType | undefined;
small?: TypographyType | undefined;
medium?: TypographyType | undefined;
large?: TypographyType | undefined;
} & import("react").ClassAttributes & import("react").HTMLAttributes & {
children?: ReactNode;
}>;
var p: ComponentType<{
color?: TypographyColor | undefined;
variant?: TypographyVariant | undefined;
base?: TypographyType | undefined;
small?: TypographyType | undefined;
medium?: TypographyType | undefined;
large?: TypographyType | undefined;
} & import("react").ClassAttributes & import("react").HTMLAttributes & {
children?: ReactNode;
}>;
var section: ComponentType<{
color?: TypographyColor | undefined;
variant?: TypographyVariant | undefined;
base?: TypographyType | undefined;
small?: TypographyType | undefined;
medium?: TypographyType | undefined;
large?: TypographyType | undefined;
} & import("react").ClassAttributes & import("react").HTMLAttributes & {
children?: ReactNode;
}>;
var Link: typeof TypographyLink;
var Icon: typeof TypographyIcon;
}
type TypographyWithoutTagProps = Except, 'tag'>;
export type TypographyLinkProps = TypographyWithoutTagProps> & LinkProps;
declare function TypographyLink
({ color, variant, ...props }: TypographyLinkProps
): ReactNode;
interface TypographyIconProps extends Except, TypographyTagBaseProps {
color?: TypographyColor;
variant?: TypographyVariant;
}
declare function TypographyIcon(props: TypographyIconProps): ReactNode;
export {};
//# sourceMappingURL=index.d.ts.map