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?: {
        checkVisible?: () => boolean;
        SlotRender?: React.FC<React.PropsWithChildren<{
            componentSchema: any;
        } & Record<string, any>>>;
    };
    forContext?: IForContext;
}
interface IForContext {
    [id: string]: any;
}
export declare function getComponentChildren(component: any, context: {
    virtualFields: Record<string, React.FunctionComponent>;
    codeContext: any;
    scopeContext: Record<string, any>;
    forContext: IForContext;
    injectContext: Record<string, any>;
    dataContext: Record<string, any>;
    updateContext: (id: string, data: any) => void;
}): 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;
    style?: React.CSSProperties;
    componentSchema: (IBasicComponent | IComplexComponent) & {
        extra?: {
            emitEvents: [];
        };
    };
    renderSlot?: boolean;
    rootNode?: boolean;
    updateContext?: any;
}
declare function CommonAppRender(props: IAppRenderProps): any;
export declare const AppRender: typeof CommonAppRender & {
    displayName: string;
};
export {};
