import { __name } from "../../_virtual/_rolldown/runtime.mjs";
import { CSSProperties, DetailedHTMLProps, HTMLAttributes } from "react";
import { ComputedNodeStyle, ElementShape, MarkdownOrString, NodeId } from "@likec4/core";
import { Color } from "@likec4/core/types";
//#region src/base-primitives/element/ElementData.d.ts
type RequiredData = {
id: NodeId;
title: string;
technology?: string | null | undefined;
color: Color;
shape?: ElementShape | undefined;
style: ComputedNodeStyle;
description?: MarkdownOrString | null | undefined;
icon?: string | null;
width?: number | undefined;
height?: number | undefined;
};
export type ElementDataProps = {
data: RequiredData;
};
type IconProps = {
data: {
id: string;
title: string;
icon?: string | null | undefined;
};
className?: string;
style?: CSSProperties;
};
type SlotProps = {
data: RequiredData;
className?: string;
style?: CSSProperties;
[key: `data-${string}`]: string;
};
/**
* Renders an element title, technology, description, and icon.
*
* @example
* ```tsx
*
* ```
* or
* ```tsx
*
*
*
*
*
*
*
*
* ```
*/
export declare function ElementData({ data, 'aria-hidden': ariaHidden }: ElementDataProps & {
'aria-hidden'?: boolean | undefined;
}): import("react").JSX.Element;
export declare namespace ElementData {
var Root: import("react").ForwardRefExoticComponent & ElementDataProps & import("react").RefAttributes>;
var Icon: ({ data, ...props }: IconProps) => import("react").JSX.Element;
var Content: import("react").ForwardRefExoticComponent, HTMLDivElement>, "ref"> & import("react").RefAttributes>;
var Title: import("react").ForwardRefExoticComponent>;
var Technology: import("react").ForwardRefExoticComponent<((import("type-fest/source/merge-exclusive").Without & {
children?: import("react").ReactNode | undefined;
}) | (import("type-fest/source/merge-exclusive").Without<{
children?: import("react").ReactNode | undefined;
}, SlotProps> & SlotProps)) & import("react").RefAttributes>;
var Description: import("react").ForwardRefExoticComponent>;
}
//#endregion