import { ComponentName, treeDataType } from './treeDataRelationFn/type';
import { GroupDataType, ModalType, RefreshDataType } from './behaviorService/type';
import { FlowNode } from 'lowcode/_setters/cFlowEvent-setter/page/type';
/**
 * 提供一个schemaService的类
 * 用于查询各种schema里面的内容
 */
export declare class SchemaService {
    getWebGidBySchemaProps(): string;
    /**
     * 获取弹框信息
     * @returns
     */
    getModalList(): ModalType[];
    /**
     * 这里schema配置有点特殊，编辑态会使用(window as any).top?.AliLowCodeEngine
     * 预览态 (window as any).PageSchema
     * @returns
     */
    getDictionaryList(webGid?: string): any;
    getPageSchemaByWebGid(webGid?: string): any;
    /**
     * 获取到全局数据源配置
     * @returns
     */
    getDataSourceList(webGid?: string): DataSourceAllType[];
    /**
     * 获取全局自定义变量
     */
    getCustomStateList(webGid?: string): any;
    /**
     * 获取指定的事件流
     * @param webGid
     * @param key
     * @returns
     */
    getFlowEventConfigByGidAndKey(webGid: string, key: string): FlowNode | undefined;
    private getDataSourceByWindow;
    private getCustomStateByWindow;
    private getDictionaryByWindow;
    /**
     * 得到刷新列表
     * @returns
     */
    getRefreshList(): RefreshDataType[];
    /**
     * 处理循环组件唯一标识,排除自己
     * 这里可能存在后补 ComponentName.CarouselBox 问题
     * @param dragNode
     * @param currentNode
     */
    handleLoopBoxComponent(dragNode: any, currentNode: any): void;
    /**
     * 检测组件标识是否重复
     * 带补充，这里暂时只支持loopBox循环组件
     * @param value
     */
    checkComponentKey(value: string, id: string): boolean;
    /**
     * 获取所有的槽位
     * @returns
     */
    getColDataSourceList(): RefreshDataType[];
    /**
     * 获取按钮或图片的下拉选择数据
     * @param name
     */
    getBaseDataByType(name: ComponentName.Button | ComponentName.Image): RefreshDataType[];
    /**
     * 获取页面组管理信息
     */
    getPageGroupListData(category?: any): GroupDataType[];
    getVideoListData(): videoDataSourceType[];
    /**
     * 获取转盘组件
     * @returns
     */
    getRotateWheelListData(): videoDataSourceType[];
    /**
     * 获取动画组件 目前支持图片 按钮
     * @returns
     */
    getAnimationListData(): RefreshDataType[];
    /**
     * 获取轮播图组件
     * @returns
     */
    getCarouselListData(): videoDataSourceType[];
    /**
     * 获取page.props.customStateStorageList
     * 和所有子组件的事件流涉及到本地存储的模块
     * 追加一个人机校验的本地存储
     * @returns
     */
    getStorageDataRelation(): treeDataType[];
    getFlowEventOptionsBySchema(componentKey?: string): any;
    private getColDataSourceBySchema;
    private getVideoListMain;
    /**
     * 获取转盘组件
     * @param children
     * @returns
     */
    private getRotateWheelListMain;
    /**
     * 获取动画组件 目前支持图片 按钮
     * @param children
     * @returns
     */
    private getAnimationListMain;
    private getCarouselListMain;
    private getStorageDataRelationMain;
    private getFlowEventOptionsBySchemaMain;
    private getFlowEventConfigByGidAndKeyMain;
    /**
     * 从所有的事件流里面获取关于配置存储的key配置
     * @param flowEventConfig
     * @returns
     */
    private getStorageKeyByPropsFlowEventConfig;
    private getVideoGroupList;
    private getPropsKeyInSchema;
    /**
     * 由于所有的弹框只会在第一岑级别，故不需要递归查找
     * @param children
     */
    private getModalBySchemaChildren;
    /**
     * 得到所有可以被刷新的key和value
     * 目前暂时只针对
     * 循环组件
     * 配置了事件流的Col
     * @param children
     */
    private getRefreshBySchemaChildren;
    private getModalChildren;
    private getParentKeyByChildren;
    private getComponentsTreeBySchema;
}
