/**
* @fileoverview Item primitive — versatile list item component with icon, label,
* description, and action slots. Supports multiple variants (default, link, button)
* and grouped layouts with separators. Part of the Saasflare base component layer.
* @module packages/ui/components/ui/item
* @layer core
*
* @component
* @example
* import { ItemGroup, Item, ItemContent, ItemTitle } from '@saasflare/ui';
*
*
* -
*
* Settings
*
*
*
*/
import * as React from "react";
import { type VariantProps } from "class-variance-authority";
import { type SaasflareComponentProps } from "../../providers";
import { Separator } from "./separator";
/**
* Vertical container that groups related {@link Item} rows into a list.
*
* @component
* @layer core
*
* @example
*
* - …
*
* - …
*
*/
declare function ItemGroup({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
/**
* Horizontal divider between {@link Item} rows inside an {@link ItemGroup}.
*
* @component
* @layer core
*
* @example
*
*/
declare function ItemSeparator({ className, ...props }: React.ComponentProps): import("react/jsx-runtime").JSX.Element;
declare const itemVariants: (props?: ({
variant?: "outline" | "default" | "muted" | null | undefined;
size?: "sm" | "md" | null | undefined;
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
/** Props for the Saasflare {@link Item} component. */
interface ItemProps extends Omit, keyof SaasflareComponentProps>, Omit, "size">, SaasflareComponentProps {
/** Render as child element (Radix Slot pattern). */
asChild?: boolean;
/** Row density. (`"default"` is a deprecated alias for `"md"`.) */
size?: VariantProps["size"] | "default";
}
/**
* Versatile list row with optional media, content, and action slots.
*
* A surfaced, rounded primitive: `surface` and `radius` resolve from the
* provider via {@link useSaasflareProps} and are emitted as
* `data-surface`/`data-radius` on the root for CSS theming.
*
* @component
* @layer core
*
* @example
* -
*
*
* Settings
* Manage your account.
*
*
*/
declare function Item({ className, variant, size, asChild, surface, radius, animated, iconWeight, ...props }: ItemProps): import("react/jsx-runtime").JSX.Element;
declare const itemMediaVariants: (props?: ({
variant?: "image" | "icon" | "default" | null | undefined;
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
/**
* Leading media slot for an {@link Item} — icon, image, or bare children.
*
* @component
* @layer core
*
* @example
*
*/
declare function ItemMedia({ className, variant, ...props }: React.ComponentProps<"div"> & VariantProps): import("react/jsx-runtime").JSX.Element;
/**
* Primary content column of an {@link Item} — holds title and description.
*
* @component
* @layer core
*
* @example
*
* Settings
*
*/
declare function ItemContent({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
/**
* Title line within {@link ItemContent}.
*
* @component
* @layer core
*
* @example
* Settings
*/
declare function ItemTitle({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
/**
* Secondary description text within {@link ItemContent}.
*
* @component
* @layer core
*
* @example
* Manage your account.
*/
declare function ItemDescription({ className, ...props }: React.ComponentProps<"p">): import("react/jsx-runtime").JSX.Element;
/**
* Trailing actions slot of an {@link Item} — buttons, menus, or controls.
*
* @component
* @layer core
*
* @example
*
*/
declare function ItemActions({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
/**
* Full-width header row spanning the top of an {@link Item}.
*
* @component
* @layer core
*
* @example
* PlanPro
*/
declare function ItemHeader({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
/**
* Full-width footer row spanning the bottom of an {@link Item}.
*
* @component
* @layer core
*
* @example
* Renews monthly.
*/
declare function ItemFooter({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
export { Item, ItemMedia, ItemContent, ItemActions, ItemGroup, ItemSeparator, ItemTitle, ItemDescription, ItemHeader, ItemFooter, type ItemProps, };