/**
 * Copyright (c) Adaptavist, Inc.
 */
import { GenericProps } from '@/src/utilities';
import { HTMLAttributes } from 'react';
declare type ContentAlignments = 'flex-start' | 'flex-end' | 'center' | 'space-between' | 'space-around' | 'space-evenly';
export declare type GridControls = {
    /**
     * Control the number of columns in a grid. Default is `1`.
     */
    templateCols?: number | string;
    /**
     * Control the number of rows in a grid. Default is `1`.
     */
    templateRows?: number | string;
    /**
     * Control how elements are auto-placed in a grid. Default is `row`.
     */
    autoFlow?: 'row' | 'column' | 'dense' | 'row dense' | 'column dense';
    /**
     * Control the size of implicitly-created grid rows. Default is `auto`.
     */
    autoRows?: 'auto' | 'min' | 'max' | 'fr';
    /**
     * Control the size of implicitly-created grid columns. Default is `auto`.
     */
    autoCols?: 'auto' | 'min' | 'max' | 'fr';
    /**
     * Control the gutters between grid items. Default is `an undefined string`.
     */
    gap?: string;
    /**
     * Control how grid items are positioned along the container's main axis. Default is `undefined`.
     */
    justifyContent?: ContentAlignments;
    /**
     * Control how grid items are positioned along their inline axis. Default is `undefined`.
     */
    justifyItems?: 'start' | 'end' | 'center' | 'stretch';
    /**
     * Control how rows are positioned in a grid container. Default is `undefined`.
     */
    alignContent?: ContentAlignments;
    /**
     * Control how grid items are positioned along their container's cross axis. Default is `undefined`.
     */
    alignItems?: 'flex-start' | 'flex-end' | 'center' | 'baseline' | 'stretch';
    /**
     * Control how content is justified and aligned at the same time. Default is `undefined`.
     */
    placeContent?: 'center' | 'start' | 'end' | 'space-between' | 'space-around' | 'space-evenly' | 'stretch';
    /**
     * Control how items are justified and aligned at the same time. Default is `undefined`.
     */
    placeItems?: 'start' | 'end' | 'center' | 'stretch';
};
export declare type GridItemControls = {
    /**
     * Control the order of grid items. Default is `undefined`.
     */
    order?: number | 'first' | 'last' | 'none';
    /**
     * Control the number of columns this item will cover in the grid. Default is `undefined`.
     */
    colSpan?: number | 'full' | 'auto';
    /**
     * Control the column number this item will start at. Default is `undefined`.
     */
    colStart?: number | 'auto';
    /**
     * Control the column number this item will end at. Default is `undefined`.
     */
    colEnd?: number | 'auto';
    /**
     * Control the row number this item will start at. Default is `undefined`.
     */
    rowStart?: number | 'auto';
    /**
     * Control the row number this item will end at. Default is `undefined`.
     */
    rowEnd?: number | 'auto';
    /**
     * Control the number of rows this item will cover in the grid. Default is `undefined`.
     */
    rowSpan?: number | 'auto' | 'full';
    /**
     * Control how this grid item will align along its inline axis. Default is `undefined`.
     */
    justifySelf?: 'auto' | 'start' | 'end' | 'center' | 'stretch';
    /**
     * Control how this grid item will align along its container's cross axis. Default is `undefined`.
     */
    alignSelf?: 'auto' | 'start' | 'end' | 'center' | 'stretch' | 'baseline';
    /**
     * Control how this grid item will be justified and aligned at the same time. Default is `undefined`.
     */
    placeSelf?: 'auto' | 'start' | 'end' | 'center' | 'stretch';
};
export declare type IGrid = HTMLAttributes<HTMLDivElement> & GenericProps & GridControls & {
    /**
     * Control the type of grid used. Default is 'grid'.
     */
    display?: 'grid' | 'inline-grid';
    /**
     * Override the Grid styles for when the viewport is less than MD but more than SM.
     */
    breakpointSM?: GridControls;
    /**
     * Override the Grid styles for when the viewport is less than LG but more than MD.
     */
    breakpointMD?: GridControls;
    /**
     * Override the Grid styles for when the viewport is less than XL but more than LG.
     */
    breakpointLG?: GridControls;
    /**
     * Override the Grid styles for when the viewport is less than XXL but more than XL.
     */
    breakpointXL?: GridControls;
    /**
     * Override the Grid styles for when the viewport is more than XXL.
     */
    breakpointXXL?: GridControls;
};
export declare type IGridItem = HTMLAttributes<HTMLDivElement> & GenericProps & GridItemControls & {
    /**
     * Override the Grid item styles for when the viewport is less than MD but more than SM.
     */
    breakpointSM?: GridItemControls;
    /**
     * Override the Grid item styles for when the viewport is less than LG but more than MD.
     */
    breakpointMD?: GridItemControls;
    /**
     * Override the Grid item styles for when the viewport is less than XL but more than LG.
     */
    breakpointLG?: GridItemControls;
    /**
     * Override the Grid item styles for when the viewport is less than XXL but more than XL.
     */
    breakpointXL?: GridItemControls;
    /**
     * Override the Grid item styles for when the viewport is more than XXL.
     */
    breakpointXXL?: GridItemControls;
};
export {};
