import * as React from 'react';
import { IComponent, IPageComponent } from '@cloudbase/cals';
declare type TPage = IPageComponent | IComponent;
interface ILowcodeModuleMap {
    state?: any;
    computed?: {
        [key: string]: Function;
    };
    lifecycle: {
        [key: string]: Function;
    };
    handler: {
        [key: string]: Function;
    };
    renderer: {
        [key: string]: Function;
    };
    style?: {
        code: string;
    }[];
}
interface IAppProps {
    page: TPage;
    generateLowcodeModule: () => ILowcodeModuleMap;
    generateComponentsMap: () => {
        [key: string]: React.FunctionComponent;
    };
    generateActionsMap: () => {
        [key: string]: Function;
    };
    generateWidgetsContext?: (page: any) => any;
    generateDataBinds?: (ctx: any, page: any) => any;
    generateComponentSchema?: (ctx: any, page: any) => any;
    generateContext?: (ctx: any, page: any) => {
        widgetContext: any;
        dataBinds: any;
        componentSchema: any;
    };
    onMounted?: (props: {
        page: TPage;
        default: Function;
    }) => void;
    onRender?: () => void;
    initDataContext?: any;
    injectContext?: {
        $page?: any;
        dataContext?: any;
        onDataContextChange?: (id: any, data: any) => void;
    };
    options?: {
        reuseWidget?: boolean;
        looseError?: boolean;
    };
}
declare const _default: React.MemoExoticComponent<typeof App>;
export default _default;
declare function App({ page, generateComponentsMap, generateActionsMap, generateLowcodeModule, generateWidgetsContext, generateDataBinds, generateComponentSchema, generateContext, onRender, onMounted, injectContext, initDataContext, options, }: IAppProps): JSX.Element;
