import * as React from 'react';
import { IBasicComponent, IComplexComponent } from '@cloudbase/cals';
interface IContext {
    virtualFields: {
        [sourceKey: string]: React.FunctionComponent<any>;
    };
    codeContext: any;
    scopeContext?: {
        [key: string]: any;
    };
    dataContext?: any;
    updateContext?: any;
    injectContext?: {
        SlotRender?: React.FC<React.PropsWithChildren<{
            componentSchema: any;
        } & Record<string, any>>>;
    };
    forContext?: any;
}
export declare function getComponentChildren(component: any, context: {
    virtualFields: any;
    codeContext: any;
    scopeContext: any;
    forContext: any;
    injectContext: any;
    dataContext: any;
    updateContext: any;
}): any;
export declare function generateSlotMetaMap(componentSchema: any, context: IContext, options?: {
    rootNode?: boolean;
    renderSlot: boolean;
}): {
    [key: string]: {
        type: 'HOC';
        node: React.FunctionComponent;
    } | {
        type: 'ELEMENT';
        node: React.ReactElement;
    };
};
interface IAppRenderProps extends IContext {
    className?: string;
    componentSchema: (IBasicComponent | IComplexComponent) & {
        extra?: {
            emitEvents: [];
        };
    };
    renderSlot?: any;
    rootNode?: boolean;
    dataContext?: any;
    updateContext?: any;
}
export declare const AppRender: React.FunctionComponent<IAppRenderProps>;
export {};
