///
import { AnchorHTMLAttributes, DetailedHTMLProps, PropsWithChildren, ReactNode } from 'react';
import { ThemeColorVariables } from '@dreipol/t3-react-theme';
import { LinkProps } from 'next/link';
export type ListItemProps = PropsWithChildren<{
/**
* Custom className
*/
className?: string;
/**
* Custom prefix
*/
prefix?: ReactNode;
/**
* Custom suffix
*/
suffix?: ReactNode;
/**
* Custom click handler
*/
onClick?: () => void;
/**
* Custom theme color
*/
color?: ThemeColorVariables;
/**
* Active state
*/
active?: boolean;
/**
* Render in disabled state
*/
disabled?: boolean;
/**
* Variant
*/
as?: Variant;
/**
* Only applied if variant is link
*/
linkProps?: LinkProps;
}> & Omit, 'color' | 'prefix'>;
type Variant = 'link' | 'a';
type LinkOrAnchorProps = T extends 'link' ? LinkProps : DetailedHTMLProps, HTMLAnchorElement>;
export declare const ListItem: (props: {
/**
* Custom className
*/
className?: string | undefined;
/**
* Custom prefix
*/
prefix?: ReactNode;
/**
* Custom suffix
*/
suffix?: ReactNode;
/**
* Custom click handler
*/
onClick?: (() => void) | undefined;
/**
* Custom theme color
*/
color?: ThemeColorVariables | undefined;
/**
* Active state
*/
active?: boolean | undefined;
/**
* Render in disabled state
*/
disabled?: boolean | undefined;
/**
* Variant
*/
as?: Variant | undefined;
/**
* Only applied if variant is link
*/
linkProps?: {
href: string | import("url").UrlObject;
as?: (string | import("url").UrlObject) | undefined;
replace?: boolean | undefined;
scroll?: boolean | undefined;
shallow?: boolean | undefined;
passHref?: boolean | undefined;
prefetch?: boolean | undefined;
locale?: string | false | undefined;
legacyBehavior?: boolean | undefined;
onMouseEnter?: import("react").MouseEventHandler | undefined;
onTouchStart?: import("react").TouchEventHandler | undefined;
onClick?: import("react").MouseEventHandler | undefined;
} | undefined;
} & {
children?: ReactNode;
} & Omit, HTMLAnchorElement>, "prefix" | "color"> & import("react").RefAttributes) => import("react").ReactElement> | null;
export {};