/**
 * Copyright (c) Adaptavist, Inc.
 */
import { Icons } from '../../atoms/icon/types';
import { TextTransform } from '../../atoms/text/types';
import { IColorsKeys } from '../../theme';
import { GenericProps } from '../../utilities';
import { HTMLAttributes } from 'react';
declare type DefaultProps = React.HtmlHTMLAttributes<HTMLDivElement> & GenericProps & {
    /**
     * Prop to control the position and display of the arrow.
     *
     * Default is 'none'.
     */
    arrowPosition?: 'bottom' | 'left' | 'none' | 'right' | 'top';
    /**
     * Prop to control the casing of the label text.
     *
     * Default is 'uppercase'.
     */
    labelCasing?: TextTransform;
    /**
     * Prop to control the styling of the status being displayed. Default is `success`.
     */
    type?: 'brand' | 'critical' | 'default' | 'success' | 'warning';
};
declare type WithIconProps = DefaultProps & {
    /**
     * The Icon to be displayed on the status.
     *
     * Default is `undefined`.
     */
    icon: Icons;
    /**
     * Prop to control the position and display of the icon.
     *
     * Default is 'none'.
     */
    iconPosition: 'left' | 'none' | 'right';
};
declare type WithoutIconProps = DefaultProps & {
    /**
     * The Icon to be displayed on the status.
     *
     * Default is `undefined`.
     */
    icon?: never;
    /**
     * Prop to control the position and display of the icon.
     *
     * Default is 'none'.
     */
    iconPosition?: never;
};
export declare type IStatus = WithIconProps | WithoutIconProps;
export declare type IStatusContainer = HTMLAttributes<HTMLDivElement> & GenericProps & {
    arrowPosition?: 'right' | 'left' | 'bottom' | 'top' | 'none';
    backgroundColor?: IColorsKeys;
};
export {};
