import { Spacing } from '../_styles/spacing';
import { DivAttributes } from '../_utils/types';
declare type GridSpacing = Spacing | Partial<SpacingByBreakpoint>;
export interface GridProps extends DivAttributes {
    /**
     * If given a spacing string value (e.g. "sm" or "none"), sets horizontal
     * column spacing across all breakpoints. Horizontal gutters are ignored when columns are stacked.
     *
     * If given an object, sets horizontal column spacing for given breakpoints
     * (keys in configuration object, e.g. {"tabletMd": "xs", "mobileLg": "none"}).
     * @since 10.19.0
     */
    gutterX?: GridSpacing;
    /**
     * If given a spacing string value (e.g. "sm" or "none"), sets vertical
     * column spacing across all breakpoints.
     *
     * If given an object, sets vertical column spacing for given breakpoints
     * (keys in configuration object, e.g. {"tabletMd": "xs", "mobileLg": "none"}).
     * @since 10.19.0
     */
    gutterY?: GridSpacing;
    /**
     * Sets a breakpoing at which columns will start stacking on top of each other.
     * E.g. if set to "tabletMd" - columns will stack on "tabletMd", "tabletSm"
     * and "mobileLg" breakpoints.
     * @since 10.19.0
     */
    colStackCap?: GridBreakpoint;
}
export interface GridContextShape {
    /**
     * @since 10.19.0
     */
    gutterX: GridSpacing;
    /**
     * @since 10.19.0
     */
    gutterY: GridSpacing;
    /**
     * @since 10.19.0
     */
    colStackCap: GridBreakpoint;
}
export interface GridRowProps extends DivAttributes {
}
export declare type GridColSpan = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
export declare type SpanByBreakpoint = Record<GridBreakpoint, GridColSpan>;
export declare type GutterByBreakpoint = Record<GridBreakpoint, Spacing>;
export declare type OffsetByBreakpoint = Record<GridBreakpoint, number>;
export declare type SpacingByBreakpoint = Record<GridBreakpoint, Spacing>;
export interface GridColProps extends DivAttributes {
    /**
     * @defaultValue auto
     * If given a number value between 1 and 12, sets column width across all
     * breakpoints.
     *
     * If given an object, sets column widths for given breakpoints
     * (keys in configuration object, e.g. {"tabletMd": 10, "mobileLg": 5}).
     *
     * If set to "auto", the column will take all the available space
     * @since 10.19.0
     */
    colWidth?: number | Partial<SpanByBreakpoint> | 'auto';
    /**
     * If given a number value between 1 and 12, sets start positions across all
     * breakpoints.
     * @since 10.19.0
     *
     * If given an object, sets start positions for given breakpoints
     * (keys in configuration object, e.g. {"tabletMd": 10, "mobileLg": 5}).
     * @since 10.19.0
     */
    colStart?: number | Partial<OffsetByBreakpoint>;
}
export declare type GridBreakpoint = 'mobileLg' | 'tabletSm' | 'tabletMd' | 'tabletLg' | 'desktopSm' | 'desktopMd';
export {};
