import * as React from 'react';
import { ILowcodeModuleMap } from './index';
import { IComplexComponent, LCDS } from '@cloudbase/cals';
import { IComponentInfo } from '../utils/adapter/generate';
interface IProps {
    id: string;
    $node: any;
    data: any;
    className?: string;
    style: React.CSSProperties;
    events?: Record<string, Function>;
}
interface ICompopositeComponentDefine extends LCDS.IComponent {
    items?: IComplexComponent['items'];
}
interface ICompositeComponentProps {
    props: IProps;
    comp?: ICompopositeComponentDefine;
    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;
    };
}
export declare function generateCompositeComponent({ comp, module, componentsMap, componentActionsMap, componentsInfoMap, options, }: {
    comp: ICompositeComponentProps['comp'];
    module: string;
    componentsMap: {
        [key: string]: React.FunctionComponent;
    };
    componentActionsMap: {
        [key: string]: Function;
    };
    componentsInfoMap?: {
        [componentSourceKey: string]: IComponentInfo;
    };
    options: {
        reuseWidget?: boolean;
        looseError?: boolean;
        processCssUnit?: 'rem' | 'px';
    };
}): Promise<React.ForwardRefExoticComponent<IProps & React.RefAttributes<unknown>>>;
export declare function getCompositedComponentClass({ module, component }: {
    module: string;
    component: string;
}): string;
export {};
