import { BlockSchema, DataSourceSchema } from '@vtj/core';
import { ContextMode } from '../constants';
import { Context } from './context';
import { BlockLoader } from './loader';
export type DataSourceHandler = (...args: any[]) => Promise<any>;
export interface CreateRendererOptions {
    Vue?: any;
    mode?: ContextMode;
    dsl?: BlockSchema;
    components?: Record<string, any>;
    libs?: Record<string, any>;
    apis?: Record<string, any>;
    loader?: BlockLoader;
    window?: Window;
}
export declare function createRenderer(options: CreateRendererOptions): {
    renderer: any;
    context: Context;
};
export declare function createDataSources(dataSources: Record<string, DataSourceSchema>, context: Context): Record<string, DataSourceHandler>;
