import * as React from 'react';
import { IComponent, IPageComponent } from '@cloudbase/cals';
import { IWedaAppProps } from '../router';
declare type TPage = IPageComponent | IComponent;
export 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;
    options?: {
        reuseWidget?: boolean;
        looseError?: boolean;
        processCssUnit?: 'rem' | 'px';
    };
    renderLoading?: IWedaAppProps['renderLoading'];
}
export default function App({ page: __page, generateComponentsMap, generateActionsMap, generateLowcodeModule, generateWidgetsContext, generateDataBinds, generateComponentSchema, generateContext, onRender, onMounted, initDataContext, renderLoading, options, }: IAppProps): JSX.Element;
export {};
