import React, { AnchorHTMLAttributes, ButtonHTMLAttributes, FormHTMLAttributes, HTMLAttributes, InputHTMLAttributes, LabelHTMLAttributes } from 'react';
import { LinkProps as RouterLinkProps } from 'react-router-dom';
import { SilkeColor } from '../../silke-theme-provider';
export type BoxSpace = 'xxs' | 'xs' | 's' | 'sm' | 'm' | 'l' | 'xl' | 'xxl' | 'xxxl' | 'none' | boolean;
export type BoxSize = 'xs' | 's' | 'base' | 'm' | 'l' | 'xl' | 'xxl' | '256' | '512';
export type BoxAlign = 'center' | 'start' | 'end' | 'spread' | 'space' | boolean;
export type TagAttributes = {
a: Omit, 'color'>;
button: Omit, 'color'>;
input: Omit, 'color'>;
div: Omit, 'color'>;
label: Omit, 'color'>;
form: Omit, 'color'>;
ol: Omit, 'color'>;
ul: Omit, 'color'>;
li: Omit, 'color'>;
header: Omit, 'color'>;
dl: Omit, 'color'>;
};
export declare const Flex: ({ weight }: {
weight?: number;
}) => import("react/jsx-runtime").JSX.Element;
type BaseProps = {
/** Layout contnet in column */
column?: boolean;
/** Should fill container */
fill?: boolean;
/** Flex gap */
gap?: BoxSpace;
/** Vertical/horizontal space */
pad?: BoxSpace;
/** Vertical padding in element */
vPad?: BoxSpace;
/** Horizontal padding in element */
hPad?: BoxSpace;
/** Sets both width and height */
size?: BoxSize;
/** Width of the box (x2 of the spaceing, example: 'm' = 32px wide) */
height?: BoxSize;
/** Width of the box (x2 of the spaceing, example: 'm' = 32px wide) */
width?: BoxSize;
/** Width of the box (x2 of the spaceing, example: 'm' = 32px wide) */
minHeight?: BoxSize;
/** Width of the box (x2 of the spaceing, example: 'm' = 32px wide) */
minWidth?: BoxSize;
/** Background color */
bg?: SilkeColor | 'blur';
/** Background color on hover */
bgHover?: SilkeColor;
/** Text color */
color?: SilkeColor;
/** Border radius */
rounded?: boolean | 'tiny' | 'small' | 'medium' | 'full';
shadow?: 'level1' | 'level2' | 'level3' | 'level4';
overflow?: 'hidden' | 'scroll-y';
cursor?: 'pointer' | 'grab' | 'text';
userSelect?: 'none' | 'text';
/** Text color on hover */
colorHover?: SilkeColor;
aspectRatio?: '16:9' | '4:3' | '1:1';
/** Flex item */
flex?: boolean;
/** Wrap items */
wrap?: boolean;
/** Align content of box, use array to define separat for x and y axis */
align?: BoxAlign | [BoxAlign, BoxAlign];
vAlign?: BoxAlign;
hAlign?: BoxAlign;
/** Debug adds an out line to all box and child boxes */
debug?: boolean;
scroll?: boolean | 'show';
rel?: string;
};
type InputProps = {
tag: 'input';
} & TagAttributes['input'] & BaseProps;
export type BoxButtonProps = {
tag?: 'button';
} & TagAttributes['button'] & BaseProps;
type AnchorProps = {
tag: 'a';
} & TagAttributes['a'] & BaseProps;
export type BoxLinkProps = {
tag: 'link';
} & RouterLinkProps & BaseProps;
export type BoxDivProps = {
tag?: 'div';
} & TagAttributes['div'] & BaseProps;
export type BoxNavProps = {
tag?: 'nav';
} & TagAttributes['div'] & BaseProps;
export type BoxOlProps = {
tag?: 'ol';
} & TagAttributes['ol'] & BaseProps;
export type BoxUlProps = {
tag?: 'ul';
} & TagAttributes['ul'] & BaseProps;
export type BoxLiProps = {
tag?: 'li';
} & TagAttributes['li'] & BaseProps;
export type BoxLabelProps = {
tag?: 'label';
} & TagAttributes['label'] & BaseProps;
export type BoxFormProps = {
tag?: 'form';
} & TagAttributes['form'] & BaseProps;
export type BoxHeaderProps = {
tag?: 'header';
} & TagAttributes['header'] & BaseProps;
export type BoxDlProps = {
tag?: 'dl';
} & TagAttributes['dl'] & BaseProps;
export type BoxDtProps = {
tag?: 'dt';
} & TagAttributes['dl'] & BaseProps;
export type BoxDdProps = {
tag?: 'dd';
} & TagAttributes['dl'] & BaseProps;
export type BoxProps = InputProps | BoxButtonProps | AnchorProps | BoxLinkProps | BoxDivProps | BoxLabelProps | BoxFormProps | BoxNavProps | BoxOlProps | BoxUlProps | BoxLiProps | BoxHeaderProps | BoxDlProps | BoxDtProps | BoxDdProps;
export declare const SilkeBox: React.ForwardRefExoticComponent>;
export {};