import { App } from 'vue';
import { BlockSchema, NodeSchema, BlockModel, Service, PageFile, BlockFile, ProjectModel, PlatformType } from '@vtj/core';
import { SimulatorEnv } from './simulator';
import { Provider, Context } from '@vtj/renderer';
import { Designer } from './designer';
import { Report } from './report';
export declare class Renderer {
    env: SimulatorEnv;
    service: Service;
    provider: Provider;
    private report;
    project: ProjectModel | null;
    designer: Designer | null;
    app: App | null;
    private dsl;
    private nodeChange;
    private blockChange;
    context: Context | null;
    private file?;
    constructor(env: SimulatorEnv, service: Service, provider: Provider, report: Report, project?: ProjectModel | null, designer?: Designer | null);
    private install;
    createUniApp(platform: PlatformType, file: PageFile | BlockFile, renderer: any): App<any>;
    createApp(platform: PlatformType, file: PageFile | BlockFile, renderer: any): App<any>;
    render(block: BlockModel, file?: PageFile | BlockFile | null): void;
    dispose(): void;
    updateChild(node: NodeSchema, parent: BlockSchema | NodeSchema): void;
    private __onNodeChange;
    private __onBlockChange;
}
