import { HTMLChartRenderer } from './chart';
import { StyleDefaults, VegaRenderOptions } from './data_styles';
import { RendererOptions } from './renderer_types';
import { RendererFactory } from './renderer_factory';
import { Renderer } from './renderer';
import { Cell, Field, RecordOrRepeatedRecordField } from '../data_tree';
import type * as lite from 'vega-lite';
type DataContainer = Array<unknown> | Record<string, unknown>;
export declare const DEFAULT_SPEC: Partial<lite.TopLevelSpec>;
export declare const vegaSpecs: Record<string, lite.TopLevelSpec>;
export declare function isDataContainer(a: unknown): a is DataContainer;
export declare class HTMLVegaSpecRenderer extends HTMLChartRenderer {
    spec: lite.TopLevelSpec;
    constructor(document: Document, styleDefaults: StyleDefaults, options: RendererOptions, field: Field, vegaRenderOptions: VegaRenderOptions);
    getDataValue(data: Cell): Date | string | number | null;
    getDataType(field: Field): 'ordinal' | 'quantitative' | 'nominal';
    translateField(explore: RecordOrRepeatedRecordField, fieldString: string): string;
    translateFields(node: DataContainer, explore: RecordOrRepeatedRecordField): void;
    getVegaLiteSpec(data: Cell): lite.TopLevelSpec;
}
export declare class VegaRendererFactory extends RendererFactory<VegaRenderOptions> {
    static readonly instance: VegaRendererFactory;
    create(document: Document, styleDefaults: StyleDefaults, rendererOptions: RendererOptions, field: Field, options: VegaRenderOptions): Renderer;
    get rendererName(): string;
}
export {};
