import { Tag } from '@malloydata/malloy-tag';
import { VegaChartProps, VegaConfigHandler } from './types';
import { ResultStore } from './result-store/result-store';
import { Runtime } from 'vega';
import { RootField } from '../data_tree';
import { RenderFieldMetadata } from '../render-field-metadata';
export type GetResultMetadataOptions = {
    renderFieldMetadata: RenderFieldMetadata;
    getVegaConfigOverride?: VegaConfigHandler;
    parentSize: {
        width: number;
        height: number;
    };
};
export interface FieldVegaInfo {
    runtime: Runtime | null;
    props: VegaChartProps | null;
    error: Error | null;
}
export interface RenderMetadata {
    store: ResultStore;
    vega: Record<string, FieldVegaInfo>;
    rootField: RootField;
    parentSize: {
        width: number;
        height: number;
    };
    renderAs: string;
    sizingStrategy: 'fill' | 'fixed';
    renderFieldMetadata: RenderFieldMetadata;
}
export declare function getResultMetadata(rootField: RootField, options: GetResultMetadataOptions): RenderMetadata;
export declare function shouldRenderChartAs(tag: Tag): string | undefined;
