/**
 * Copyright (c) Adaptavist, Inc.
 */
import { GenericProps } from '@/src/utilities';
import { IColorsKeys, IMeasurements } from '@/src/theme';
import { HTMLAttributes } from 'react';
export declare type BorderValues = {
    top?: BorderValue;
    left?: BorderValue;
    bottom?: BorderValue;
    right?: BorderValue;
    all?: BorderValue;
};
declare type BorderRadiusValues = {
    rightBottom?: string | IMeasurements;
    rightTop?: string | IMeasurements;
    leftBottom?: string | IMeasurements;
    leftTop?: string | IMeasurements;
    right?: string | IMeasurements;
    left?: string | IMeasurements;
    bottom?: string | IMeasurements;
    top?: string | IMeasurements;
    all?: string | IMeasurements;
};
declare type BoxModelValues = {
    right?: string | IMeasurements;
    left?: string | IMeasurements;
    bottom?: string | IMeasurements;
    top?: string | IMeasurements;
    rightBottom?: string | IMeasurements;
    rightTop?: string | IMeasurements;
    leftBottom?: string | IMeasurements;
    leftTop?: string | IMeasurements;
    topBottom?: string | IMeasurements;
    leftRight?: string | IMeasurements;
    rightTopBottom?: string | IMeasurements;
    leftTopBottom?: string | IMeasurements;
    leftRightBottom?: string | IMeasurements;
    leftRightTop?: string | IMeasurements;
    all?: string | IMeasurements;
};
export declare type BorderValue = {
    color: string;
    style: 'none' | 'hidden' | 'dotted' | 'dashed' | 'solid' | 'double' | 'groove' | 'ridge' | 'inset' | 'outset' | '';
    width: string | IMeasurements;
};
export interface IContainer extends HTMLAttributes<HTMLDivElement>, GenericProps {
    /**
     * Toggles which color text in a Container Atom should be.
     */
    color?: IColorsKeys;
    /**
     * Toggles which background color the Container Atom should be.
     */
    backgroundColor?: IColorsKeys;
    /**
     * Prop to control the border radius of the Container Atom. Default is `empty string` for each value.
     */
    borderRadius?: BorderRadiusValues;
    /**
     * Prop to control the padding of the Container Atom. Default is `an empty string` for each value.
     */
    padding?: BoxModelValues;
    /**
     * Prop to control the margin of the Container Atom. Default is `an empty string` for each value.
     */
    margin?: BoxModelValues;
    /**
     * Prop to control the border of the Container Atom. Use themes where possible. Default is `an empty string` for each value.
     */
    border?: BorderValues;
    /**
     * Prop to control size of the box-shadow displayed.
     */
    boxShadow?: 'sm' | 'md' | 'lg';
    /**
     * Prop to override the data-testid for the Container atom.
     */
    'data-testid'?: string;
}
export {};
