import { CompositeDefinition, IRChild } from '@retikz/core'; /** 嵌入组件可附带的外部数据集表:reference 键 → 任意载荷 */ export type EmbeddableDatasets = Record; /** 一个可嵌入 Tier2 子组件对图形声明的贡献内容 */ export type EmbeddableContribution = { node: IRChild; datasets: EmbeddableDatasets; /** 使用同一 namespace 的贡献必须稳定复用同一个函数引用 */ makeComposites: (mergedDatasets: EmbeddableDatasets) => Array; }; /** 可嵌入 Tier2 适配器,用于让高层领域组件接入 `` */ export type EmbeddableTier2Adapter> = { displayName: string; namespace: string; contribute: (props: TProps) => EmbeddableContribution; }; /** 单个可嵌入组件贡献记录,用于后续按 namespace 合并数据集 */ export type EmbeddableContributionRecord = { namespace: string; datasets: EmbeddableDatasets; /** 使用同一 namespace 的贡献必须稳定复用同一个函数引用 */ makeComposites: (mergedDatasets: EmbeddableDatasets) => Array; }; /** 读组件 type 的可嵌入静态标记(Component.isTier2Embeddable === true) */ export declare const isEmbeddableMarked: (type: unknown) => boolean; /** * 解析一个元素的可嵌入适配器 * @description 优先用显式 `adapters` 列表按 displayName 匹配;否则读取组件上的可嵌入静态属性。 * 组件声明自己可嵌入但缺少 adapter 时会抛出带组件名的错误;普通组件返回 null */ export declare const resolveEmbeddableAdapter: (type: unknown, displayName: string | undefined, adapters?: ReadonlyArray) => EmbeddableTier2Adapter | null; //# sourceMappingURL=embeddable.d.ts.map