import { Field, RootField } from './data_tree';
import { RenderPluginFactory, RenderPluginInstance } from './api/plugin-types';
import { RenderFieldRegistryEntry } from './registry/types';
import type * as Malloy from '@malloydata/malloy-interfaces';
export type OnPluginCreateError = (error: Error, factory: RenderPluginFactory, field: Field, plugins: RenderPluginInstance[]) => void;
export declare class RenderFieldMetadata {
    private pluginRegistry;
    private pluginOptions;
    private onPluginCreateError?;
    private registry;
    private rootField;
    constructor(result: Malloy.Result, pluginRegistry?: RenderPluginFactory[], pluginOptions?: Record<string, unknown>, onPluginCreateError?: OnPluginCreateError | undefined);
    private instantiatePluginsForField;
    private registerFields;
    private populateRenderFieldProperties;
    getAllFields(): Field[];
    getRootField(): RootField;
    getPluginsForField(fieldKey: string): RenderPluginInstance[];
    getFieldEntry(fieldKey: string): RenderFieldRegistryEntry | undefined;
}
