import { Tag } from '@malloydata/malloy-tag';
import { RendererOptions } from './renderer_types';
import { Cell } from '../data_tree';
export type ChildRenderers = {
    [fieldName: string]: Renderer;
};
export interface Renderer {
    render(value: Cell): Promise<HTMLElement>;
}
export declare abstract class RenderTree implements Renderer {
    protected readonly document: Document;
    protected readonly options: RendererOptions;
    protected readonly tagged: Tag;
    constructor(document: Document, options: RendererOptions, tagged: Tag);
    protected abstract get childRenderers(): ChildRenderers;
    abstract render(value: Cell): Promise<HTMLElement>;
}
