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