import * as React from "react";
type ItemVariant = "primary" | "secondary" | "tertiary" | "high-contrast" | "ghost" | "surface" | "surface-container-lowest" | "surface-container-low" | "surface-container" | "surface-container-high" | "surface-container-highest";
type ItemSize = "sm" | "md" | "lg";
type ItemDirection = "horizontal" | "vertical";
type SwipeType = "trigger" | "dismiss" | "reveal";
export interface SwipeActionConfig {
    icon: React.ReactNode;
    label?: string;
    onClick: () => void | Promise<void>;
    /**
     * Standard theme colors.
     * Autocomplete is preserved via (string & {}).
     */
    color?: "primary" | "secondary" | "tertiary" | "error" | "destructive" | (string & {});
    /**
     * Optionally override the shape of the swipe button container.
     * Defaults to inheriting the parent Item's shape.
     */
    shape?: "full" | "minimal" | "sharp";
    /** Optional custom classes for the swipe container */
    className?: string;
}
export type ItemGroupShape = "full" | "minimal" | "sharp";
export type ItemGroupDirection = "horizontal" | "vertical";
export type ItemGroupGap = "none" | "xs" | "sm" | "md" | "lg";
export interface ItemGroupProps extends React.HTMLAttributes<HTMLDivElement> {
    shape?: ItemGroupShape;
    direction?: ItemGroupDirection;
    gap?: ItemGroupGap;
}
declare const ItemGroup: React.ForwardRefExoticComponent<ItemGroupProps & React.RefAttributes<HTMLDivElement>>;
declare const ItemSeparator: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
export interface ItemProps extends React.HTMLAttributes<HTMLDivElement> {
    variant?: ItemVariant;
    size?: ItemSize;
    shape?: "full" | "minimal" | "sharp";
    direction?: ItemDirection;
    padding?: "none" | "sm" | "md" | "lg";
    bordered?: boolean;
    elevation?: "none" | 1 | 2 | 3 | 4 | 5;
    asChild?: boolean;
    disabled?: boolean;
    disableRipple?: boolean;
    onLongPress?: (e: any) => void;
    swipeType?: SwipeType;
    swipeThreshold?: number;
    swipeRightAction?: SwipeActionConfig;
    swipeLeftAction?: SwipeActionConfig;
    onSwipeRight?: () => void;
    onSwipeLeft?: () => void;
    swipeRightOffset?: number;
    swipeLeftOffset?: number;
}
declare const Item: React.ForwardRefExoticComponent<ItemProps & React.RefAttributes<HTMLDivElement>>;
declare const ItemMedia: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
    variant?: "default" | "icon" | "avatar";
    shape?: "full" | "minimal" | "sharp";
} & React.RefAttributes<HTMLDivElement>>;
declare const ItemContent: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
declare const ItemTitle: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
declare const ItemDescription: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLParagraphElement> & React.RefAttributes<HTMLParagraphElement>>;
declare const ItemActions: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
declare const ItemHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
declare const ItemFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
export { Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, };
