import type { ButtonHTMLAttributes, HTMLAttributes, ReactElement, ReactNode } from 'react';
import type { SetRequired } from 'type-fest';
import type { AsChildProps } from '../utils/AsChildProps';
type IconFrameRootVariant = 'level0' | 'level1' | 'level2' | 'outline' | 'iconOnly' | 'closeButton';
type IconFrameVariant = Exclude;
type IconFrameRootSize = 'xxSmall' | 'xSmall' | 'small' | 'medium' | 'large' | 'xLarge';
type IconFrameSize = Exclude;
type IconFrameRootProps = {
className?: string;
icon: ReactElement;
text?: string;
variant: IconFrameRootVariant;
size: IconFrameRootSize;
asChild?: boolean;
clickable?: boolean;
children?: ReactNode;
disabled?: boolean;
tooltipContent?: ReactNode;
};
type LimitedProps = Omit & {
variant: IconFrameVariant;
};
type IconFrameProps = LimitedProps & AsChildProps>;
type IconButtonProps = LimitedProps & AsChildProps, 'aria-label'>>;
declare const frameVariants: import("tailwind-variants").TVReturnType<{
variant: {
level0: string;
level1: string;
level2: string;
outline: string;
iconOnly: string;
closeButton: string;
sidebar: string;
sidebarGlobal: string;
};
clickable: {
true: string;
};
size: {
xxSmall: string;
xSmall: string;
small: string;
medium: string;
large: string;
xLarge: string;
};
disabled: {
true: string;
false: string;
};
}, undefined, "relative flex shrink-0 items-center justify-center outline outline-1 -outline-offset-1 focus-visible:outline-1", {
responsiveVariants?: boolean | ("sm" | "md" | "lg" | "xl" | "2xl")[] | {
size?: boolean | ("sm" | "md" | "lg" | "xl" | "2xl")[] | undefined;
variant?: boolean | ("sm" | "md" | "lg" | "xl" | "2xl")[] | undefined;
disabled?: boolean | ("sm" | "md" | "lg" | "xl" | "2xl")[] | undefined;
clickable?: boolean | ("sm" | "md" | "lg" | "xl" | "2xl")[] | undefined;
} | undefined;
} & import("tailwind-variants/dist/config.js").TWMConfig & {
twMerge: true;
twMergeConfig: {
extend: {
classGroups: {
type: {
type: string[];
}[];
'text-wrap': string[];
rounded: {
rounded: string[];
}[];
};
};
};
}, {
variant: {
level0: string;
level1: string;
level2: string;
outline: string;
iconOnly: string;
closeButton: string;
sidebar: string;
sidebarGlobal: string;
};
clickable: {
true: string;
};
size: {
xxSmall: string;
xSmall: string;
small: string;
medium: string;
large: string;
xLarge: string;
};
disabled: {
true: string;
false: string;
};
}, undefined, import("tailwind-variants").TVReturnType<{
variant: {
level0: string;
level1: string;
level2: string;
outline: string;
iconOnly: string;
closeButton: string;
sidebar: string;
sidebarGlobal: string;
};
clickable: {
true: string;
};
size: {
xxSmall: string;
xSmall: string;
small: string;
medium: string;
large: string;
xLarge: string;
};
disabled: {
true: string;
false: string;
};
}, undefined, "relative flex shrink-0 items-center justify-center outline outline-1 -outline-offset-1 focus-visible:outline-1", import("tailwind-variants/dist/config.js").TVConfig<{
variant: {
level0: string;
level1: string;
level2: string;
outline: string;
iconOnly: string;
closeButton: string;
sidebar: string;
sidebarGlobal: string;
};
clickable: {
true: string;
};
size: {
xxSmall: string;
xSmall: string;
small: string;
medium: string;
large: string;
xLarge: string;
};
disabled: {
true: string;
false: string;
};
}, {
variant: {
level0: string;
level1: string;
level2: string;
outline: string;
iconOnly: string;
closeButton: string;
sidebar: string;
sidebarGlobal: string;
};
clickable: {
true: string;
};
size: {
xxSmall: string;
xSmall: string;
small: string;
medium: string;
large: string;
xLarge: string;
};
disabled: {
true: string;
false: string;
};
}>, unknown, unknown, undefined>>;
declare const IconFrameRoot: import("react").ForwardRefExoticComponent>;
export type { IconButtonProps, IconFrameProps, IconFrameRootProps, IconFrameRootSize, IconFrameSize, IconFrameVariant, };
export { frameVariants, IconFrameRoot };