import * as React from 'react';
import { ComponentPropsWithout, RemovedProps } from '@radix-ui/themes/helpers';
import { MarginProps, GetPropDefTypes } from '@radix-ui/themes/props';
import { dataListRootPropDefs, dataListItemPropDefs, dataListLabelPropDefs, dataListValuePropDefs } from './data-list.props.cjs';

type DataListRootElement = HTMLDListElement;
type DataListRootOwnProps = GetPropDefTypes<typeof dataListRootPropDefs>;
interface CommonDataListRootProps extends MarginProps, DataListRootOwnProps {
}
type DataListRootDivProps = {
    as?: "div";
} & ComponentPropsWithout<"div", RemovedProps>;
type DataListRootDlProps = {
    as?: "dl";
} & ComponentPropsWithout<"dl", RemovedProps>;
type DataListRootProps = CommonDataListRootProps & (DataListRootDivProps | DataListRootDlProps);
declare const DataListRoot: React.ForwardRefExoticComponent<DataListRootProps & React.RefAttributes<HTMLDListElement>>;
type DataListItemElement = HTMLDivElement;
type DataListItemOwnProps = GetPropDefTypes<typeof dataListItemPropDefs>;
interface DataListItemProps extends ComponentPropsWithout<"div", RemovedProps>, DataListItemOwnProps {
}
declare const DataListItem: React.ForwardRefExoticComponent<DataListItemProps & React.RefAttributes<HTMLDivElement>>;
type DataListLabelElement = React.ComponentRef<"dt">;
type DataListLabelOwnProps = GetPropDefTypes<typeof dataListLabelPropDefs>;
interface CommonDataListLabelProps extends MarginProps, DataListLabelOwnProps {
}
type DataListLabelDtProps = {
    as?: "dt";
} & ComponentPropsWithout<"dt", RemovedProps>;
type DataListLabelDivProps = {
    as?: "div";
} & ComponentPropsWithout<"div", RemovedProps>;
type DataListLabelProps = CommonDataListLabelProps & (DataListLabelDtProps | DataListLabelDivProps);
declare const DataListLabel: React.ForwardRefExoticComponent<DataListLabelProps & React.RefAttributes<HTMLElement>>;
type DataListValueElement = React.ComponentRef<"dd">;
type DataListValueOwnProps = GetPropDefTypes<typeof dataListValuePropDefs>;
interface CommonDataListValueProps extends MarginProps, DataListValueOwnProps {
}
type DataListValueDdProps = {
    as?: "dd";
} & ComponentPropsWithout<"dd", RemovedProps>;
type DataListValueDivProps = {
    as?: "div";
} & ComponentPropsWithout<"div", RemovedProps>;
type DataListValueProps = CommonDataListValueProps & (DataListValueDdProps | DataListValueDivProps);
declare const DataListValue: React.ForwardRefExoticComponent<DataListValueProps & React.RefAttributes<HTMLElement>>;

export { DataListItem as Item, type DataListItemElement as ItemElement, type DataListItemProps as ItemProps, DataListLabel as Label, type DataListLabelElement as LabelElement, type DataListLabelProps as LabelProps, DataListRoot as Root, type DataListRootElement as RootElement, type DataListRootProps as RootProps, DataListValue as Value, type DataListValueElement as ValueElement, type DataListValueProps as ValueProps };
