import type { Accessor } from 'solid-js';
import './render.css';
import type { ComponentOptions, ICustomElement } from 'component-register';
import type { DashboardConfig, DrillData, MalloyClickEventPayload, TableConfig, VegaConfigHandler } from './types';
export type { DrillData } from './types';
import type * as Malloy from '@malloydata/malloy-interfaces';
import type { ModelDef, QueryResult } from '@malloydata/malloy';
import { Result } from '@malloydata/malloy';
export type MalloyRenderProps = {
    malloyResult?: Malloy.Result;
    result?: Result;
    queryResult?: QueryResult;
    modelDef?: ModelDef;
    scrollEl?: HTMLElement;
    modalElement?: HTMLElement;
    onClick?: (payload: MalloyClickEventPayload) => void;
    onDrill?: (drillData: DrillData) => void;
    vegaConfigOverride?: VegaConfigHandler;
    tableConfig?: Partial<TableConfig>;
    dashboardConfig?: Partial<DashboardConfig>;
};
export declare const useConfig: () => {
    tableConfig: Accessor<TableConfig>;
    dashboardConfig: Accessor<DashboardConfig>;
    element: ICustomElement;
    stylesheet: CSSStyleSheet;
    addCSSToShadowRoot: (css: string) => void;
    addCSSToDocument: (id: string, css: string) => void;
    onClick?: (payload: MalloyClickEventPayload) => void;
    onDrill?: (drillData: DrillData) => void;
    vegaConfigOverride?: VegaConfigHandler;
    modalElement?: HTMLElement;
};
export declare function MalloyRender(props: MalloyRenderProps, { element }: ComponentOptions): import("solid-js").JSX.Element;
export declare function MalloyRenderInner(props: {
    result: Malloy.Result;
    element: ICustomElement;
    scrollEl?: HTMLElement;
    vegaConfigOverride?: VegaConfigHandler;
}): import("solid-js").JSX.Element;
