import * as React from 'react'; import { BaseVisConfig, ICommonVisProps, ICommonVisSideBarProps, VisColumn } from './interfaces'; /** * The general visualization interface. Holds the type and the renderers. */ export interface GeneralVis { type: string; renderer: (props: ICommonVisProps) => React.JSX.Element; sidebarRenderer: (props: ICommonVisSideBarProps) => React.JSX.Element; mergeConfig: (columns: VisColumn[], config: T) => T; description: string; } /** * Generic utility function for creating a vis object. */ export declare function createVis({ type, renderer, sidebarRenderer, mergeConfig, description, }: { type: string; /** The main vis renderer. Required in all visualizations. */ renderer: (props: ICommonVisProps) => React.JSX.Element; /** The sidebar renderer. Required in all visualizations. */ sidebarRenderer: (props: ICommonVisSideBarProps) => React.JSX.Element; mergeConfig: (columns: VisColumn[], config: T) => T; description: string; }): GeneralVis; export declare const VisProviderContext: React.Context<{ visTypes: GeneralVis[]; getVisByType: (type: string) => GeneralVis | null; registerVisType: (...visType: GeneralVis[]) => void; }>; export declare function VisProvider({ children }: { children: React.ReactNode; }): React.JSX.Element; export declare function useVisProvider(): { visTypes: GeneralVis[]; getVisByType: (type: string) => GeneralVis | null; registerVisType: (...visType: GeneralVis[]) => void; }; //# sourceMappingURL=Provider.d.ts.map