import type { Channel, ChartKey, ChartMark, ChartMarkMotionOptions, ChartMotionDefinition, ChartSpec, ChartSpecDatum, ChartValue, StaticChartDefinition } from './types.js'; export type FacetAxes = 'outer' | 'cell'; export interface FacetChartContext { key: ChartKey; } export interface FacetOptions> extends ChartMarkMotionOptions> { id?: string; by: Channel; chart: (data: readonly [TDatum, ...TDatum[]], context: FacetChartContext) => TChildSpec; columns?: number; minWidth?: number; gap?: number; label?: boolean | ((key: ChartKey) => string); axes?: FacetAxes; } type FacetChartInput = (data: readonly [TDatum, ...TDatum[]], context: FacetChartContext) => unknown; type FacetOptionsInput> = Omit, 'chart' | 'motion'> & { chart: TChart; motion?: ChartMotionDefinition, ChartSpec>>>; } & ([ReturnType] extends [ChartSpec] ? unknown : never); export declare function facet> = (data: readonly [TDatum, ...TDatum[]], context: FacetChartContext) => StaticChartDefinition>(source: Iterable, options: FacetOptionsInput, TChart>): ChartMark, ChartSpec>>, ChartValue, ChartValue, never, never>; export declare function facetChart> = (data: readonly [TDatum, ...TDatum[]], context: FacetChartContext) => StaticChartDefinition>(source: Iterable, options: FacetOptionsInput, TChart>): StaticChartDefinition, ChartSpec>>, ChartValue, ChartValue, never>; export {};