import { VegaChartTemplateType, VegaTopLevelSpec, VegaTopLevelUnitSpec, VegaUnitSpec } from '../types/vega-types';
import { ChartColumn } from '../types/chart';

export declare const blankVegaSpec: VegaTopLevelSpec;
export declare const applyChartTemplate: (chartTemplate: VegaChartTemplateType, vegaSpec: VegaTopLevelUnitSpec, columns: ChartColumn[]) => any;
/**
 * Analyzes a Vega spec and returns the matching template name
 * @param vegaSpec - The Vega-Lite specification to analyze
 * @returns The template name that matches the spec, or 'composite' for non-unit specs, or null if no match
 */
export declare const getTemplateFromVegaSpec: (vegaSpec: VegaUnitSpec) => VegaChartTemplateType | null;
/**
 * Checks if a chart template can be applied to the given columns
 * @param templateType - The template type to check
 * @param columns - The current chart columns
 * @returns true if the template can be applied, false otherwise
 */
export declare const canApplyTemplate: (templateType: VegaChartTemplateType, columns: ChartColumn[]) => boolean;
//# sourceMappingURL=vega-template-utils.d.ts.map