import { type ReactNode, type ReactElement } from "react";
import { Align } from '../align';
import { type text } from './core';
import { type CoreProps } from './Text';
export type WithIconProps<E extends Align.SpaceElementType = "div", L extends text.Level = "h1"> = Omit<Align.SpaceProps<E>, "children" | "color"> & CoreProps<L> & {
    startIcon?: false | ReactElement | ReactElement[];
    endIcon?: false | ReactElement | ReactElement[];
    divided?: boolean;
    noWrap?: boolean;
};
export declare const WithIcon: <E extends Align.SpaceElementType = "div", L extends "small" | "h1" | "h2" | "h3" | "h4" | "h5" | "p" = "small" | "h1" | "h2" | "h3" | "h4" | "h5" | "p">({ level, divided, startIcon, endIcon, children, color: crudeColor, className, noWrap, shade, weight, ...props }: WithIconProps<E, L>) => ReactElement;
export declare const formatChildren: <L extends "small" | "h1" | "h2" | "h3" | "h4" | "h5" | "p">(level: L, children?: ReactNode, color?: string, shade?: number, weight?: number) => ReactElement | ReactElement[];
