import * as React from 'react';
import { HistoryOptions } from '../utils/index';
import { IApp } from '@cloudbase/cals';
import { ErrorBoundary as ReactErrorBoundary } from 'react-error-boundary';
export declare const InjectContext: React.Context<{}>;
interface IWedaAppProps {
    cals: IApp;
    dependencies: any[];
    isHash?: boolean;
    historyOption?: HistoryOptions & {
        type?: any;
    };
    loadDependiences?: (dependencies: any[], cache?: boolean) => Promise<{
        controlMap: {
            /**
             * libname@libversion
             */
            [nameWithVersion: string]: {
                /**
                 * 组件库描述版本 '' | ‘2.0.0’ | ‘3.0.0’
                 */
                schemaVersion?: string;
                /**
                 * 组件定义描述
                 */
                components: {
                    type: string;
                    /**
                     * 组件名
                     */
                    name: string;
                    /**
                     * 属性配置
                     */
                    dataForm: {
                        [prop: string]: {
                            syncProps?: {
                                changeEvent: string;
                                valueFromEvent: string;
                            };
                            /**
                             * @deprecated
                             */
                            inputProp?: {
                                changeEvent: string;
                                valueFromEvent: string;
                            };
                        };
                    };
                    /**
                     * 事件配置
                     */
                    emitEvents: {
                        /**
                         * 事件标识
                         */
                        eventName: string;
                        /**
                         * 事件名
                         */
                        name: string;
                    }[];
                    isContainer?: boolean;
                    meta?: {
                        name: string;
                    };
                }[];
            };
        };
        componentsMap: {
            /**
             * libname:componentName
             */
            [componentSourceKey: string]: React.FunctionComponent;
        };
        componentActionsMap: {
            /**
             * libname:componentName
             */
            [actionSourceKey: string]: Function;
        };
    }>;
    renderLoading?: () => React.ReactElement;
    onRender?: () => void;
    onPageMounted?: () => void;
    context?: {
        looseError?: boolean;
        inIdeEditView?: boolean;
        checkVisible?: () => boolean;
        /**
         * 当前该参数仅用于单测
         */
        defaultDataContext?: any;
        dataContext?: any;
        onDataContextChange?: (id: any, data: any) => void;
        $page?: any;
        initAppAPI?: ({ common, state, computedFuncs, dataset, }: {
            common: any;
            state: any;
            computedFuncs: any;
            dataset?: any;
        }) => void;
        removeAppAPI?: () => void;
    };
    ErrorBoundary?: typeof ReactErrorBoundary;
}
declare const _default: (props: {
    ErrorBoundary?: typeof ReactErrorBoundary;
} & IWedaAppProps) => JSX.Element;
export default _default;
export declare function WedaRouter({ historyOptions, routes, onNotFound }: {
    historyOptions: any;
    routes?: any[];
    onNotFound: any;
}): JSX.Element;
