import type { ChartMark, ChartMarkDatum, ChartMarkPointX, ChartMarkPointY, ChartMotionDefinition, InitializedMark, MarkRenderContext, MarkScene, MaterializedChannel, SceneLabel } from './types.js'; export type AnyInitializedMark = InitializedMark; type ChildDatum = TMark extends InitializedMark ? TDatum : never; type ChildXValue = TMark extends InitializedMark ? TXValue : never; type ChildYValue = TMark extends InitializedMark ? TYValue : never; export interface InitializedMarkComposition { channels: Readonly>; seriesFromColor?: boolean; childMotions: ReadonlyMap>; layoutLabels?: (context: MarkRenderContext) => readonly SceneLabel[]; render: (context: MarkRenderContext) => MarkScene, ChildXValue, ChildYValue>; } interface ComposeInitializedMarksOptions { coordinates: 'semantic' | 'pixel'; owner: 'Composite mark' | 'Resolved layout'; interactiveChildren?: ReadonlySet; } /** Composes initialized child marks while preserving their normal scene API. */ export declare function composeInitializedMarks(parentId: string, children: TChildren, options: ComposeInitializedMarksOptions): InitializedMarkComposition; type AnyChartMark = ChartMark; interface InitializeCompositeMarkOptions { motion?: ChartMotionDefinition; interactiveChildren?: ReadonlySet; } /** Initializes one ordinary semantic composite through the shared scene kernel. */ export declare function initializeCompositeMark(id: string, marks: TMarks, options?: InitializeCompositeMarkOptions>): InitializedMark, ChartMarkPointX, ChartMarkPointY>; /** Resolves one direct child's stable mark and scene namespace. */ export declare function compositeChildMarkId(parentId: string, childId: string): string; export {};