import { Field, RootField } from './data_tree'; import { RenderPluginFactory, RenderPluginInstance } from './api/plugin-types'; import { RenderFieldRegistryEntry } from './registry/types'; import { RenderLogCollector } from './component/render-log-collector'; 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; readonly logCollector: RenderLogCollector; constructor(result: Malloy.Result, pluginRegistry?: RenderPluginFactory[], pluginOptions?: Record, onPluginCreateError?: OnPluginCreateError | undefined, logCollector?: RenderLogCollector); private instantiatePluginsForField; private registerFields; private populateRenderFieldProperties; getAllFields(): Field[]; getRootField(): RootField; getPluginsForField(fieldKey: string): RenderPluginInstance[]; getFieldEntry(fieldKey: string): RenderFieldRegistryEntry | undefined; /** * Validate tag/field type compatibility and tag values. * Called during registerFields for each field. */ private validateFieldTags; /** * Mark renderer-owned tag paths as read. * * This is ownership bookkeeping, not config resolution. A renderer may * still read tags at setup time or render time, but unread-tag warnings * are suppressed based on semantic ownership declared via * RendererValidationSpec. */ private markOwnedTagPaths; }