import * as react_jsx_runtime from 'react/jsx-runtime';
import { ElementType, Ref, ReactNode, ComponentPropsWithRef } from 'react';
import { VariantProps as VariantPropsInternal } from './variants.js';

declare const gridCol: (props?: ({
    colStart?: "1" | "2" | "auto" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "13" | undefined;
    colEnd?: "1" | "2" | "auto" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "13" | undefined;
    colSpan?: "1" | "2" | "auto" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "full" | undefined;
    rowSpan?: "1" | "2" | "auto" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "full" | undefined;
    rowStart?: "1" | "2" | "auto" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "13" | undefined;
    rowEnd?: "1" | "2" | "auto" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "13" | undefined;
    order?: "none" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "first" | "last" | undefined;
    placeSelf?: "center" | "auto" | "start" | "end" | "stretch" | undefined;
} & {
    className?: string;
}) | undefined) => string;
type GridColumnProps<T extends ElementType = 'div'> = {
    as?: T;
    ref?: Ref<any>;
    colStart?: VariantPropsInternal<typeof gridCol>['colStart'];
    colEnd?: VariantPropsInternal<typeof gridCol>['colEnd'];
    colSpan?: VariantPropsInternal<typeof gridCol>['colSpan'];
    order?: VariantPropsInternal<typeof gridCol>['order'];
    rowSpan?: VariantPropsInternal<typeof gridCol>['rowSpan'];
    rowStart?: VariantPropsInternal<typeof gridCol>['rowStart'];
    rowEnd?: VariantPropsInternal<typeof gridCol>['rowEnd'];
    placeSelf?: VariantPropsInternal<typeof gridCol>['placeSelf'];
    children?: ReactNode;
    className?: string;
} & Omit<ComponentPropsWithRef<T>, 'as' | 'ref' | 'className' | 'colStart' | 'colEnd' | 'colSpan' | 'order' | 'rowSpan' | 'rowStart' | 'rowEnd' | 'placeSelf'>;
declare function GridCol<T extends ElementType = 'div'>({ as, ref, order, rowEnd, colEnd, rowSpan, colSpan, colStart, rowStart, children, className, placeSelf, ...rest }: GridColumnProps<T>): react_jsx_runtime.JSX.Element;

declare const gridVariants: (props?: ({
    columns?: "none" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "subgrid" | undefined;
    rows?: "none" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "subgrid" | undefined;
    gap?: "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | undefined;
    align?: "center" | "baseline" | "start" | "end" | "stretch" | undefined;
    justify?: "center" | "start" | "end" | "normal" | "stretch" | "between" | "around" | "evenly" | undefined;
    placeContent?: "center" | "baseline" | "start" | "end" | "stretch" | "between" | "around" | "evenly" | undefined;
    placeItems?: "center" | "baseline" | "start" | "end" | "stretch" | undefined;
} & {
    className?: string;
}) | undefined) => string;
type ColumnsType = VariantPropsInternal<typeof gridVariants>['columns'];
type GridProps<T extends ElementType = 'div'> = {
    as?: T;
    ref?: Ref<any>;
    children?: ReactNode;
    gap?: VariantPropsInternal<typeof gridVariants>['gap'];
    rows?: VariantPropsInternal<typeof gridVariants>['rows'];
    align?: VariantPropsInternal<typeof gridVariants>['align'];
    justify?: VariantPropsInternal<typeof gridVariants>['justify'];
    columns?: ColumnsType;
    cols?: ColumnsType;
    colsSm?: ColumnsType;
    colsMd?: ColumnsType;
    colsLg?: ColumnsType;
    colsXl?: ColumnsType;
    cols2xl?: ColumnsType;
    placeItems?: VariantPropsInternal<typeof gridVariants>['placeItems'];
    placeContent?: VariantPropsInternal<typeof gridVariants>['placeContent'];
    className?: string;
} & Omit<ComponentPropsWithRef<T>, 'as' | 'ref' | 'className' | 'gap' | 'rows' | 'align' | 'justify' | 'columns' | 'cols' | 'colsSm' | 'colsMd' | 'colsLg' | 'colsXl' | 'cols2xl' | 'placeItems' | 'placeContent'>;
declare function GridBase<T extends ElementType = 'div'>({ as, ref, gap, rows, align, justify, columns, cols, colsSm, colsMd, colsLg, colsXl, cols2xl, children, className, placeItems, placeContent, ...rest }: GridProps<T>): react_jsx_runtime.JSX.Element;
declare const Grid: typeof GridBase & {
    Col: typeof GridCol;
};

export { Grid, type GridProps };
