import { ReactElement, ReactNode } from 'react';
import { Align } from '../align';
import { text } from './core';
import { CoreProps } from './Text';
interface IconProps {
    key?: string | number;
    color?: string;
    style?: React.CSSProperties;
}
type IconElement = ReactElement<IconProps>;
export type WithIconProps<E extends Align.SpaceElementType = "div", L extends text.Level = "h1"> = Omit<Align.SpaceProps<E>, "children" | "color"> & CoreProps<L> & {
    startIcon?: false | IconElement | IconElement[];
    endIcon?: false | IconElement | IconElement[];
    divided?: boolean;
    noWrap?: boolean;
};
export declare const WithIcon: <E extends Align.SpaceElementType = "div", L extends text.Level = "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 text.Level>(level: L, children?: ReactNode, color?: string, shade?: number, weight?: text.Weight) => ReactElement | ReactElement[];
export {};
//# sourceMappingURL=WithIcon.d.ts.map