import { RequestParamMappingDataType } from "lowcode/_setters/cTreeDataRelation-setter/type";
import { ProjectPbi } from "@cverse/core-lib-beta";
import { extendItem } from "src/utils/RequestService/type";
declare enum DialogConfigType {
    /**
     * 接口
     */
    API = "api",
    /**
     * 合约
     */
    PACT = "contract",
    /**
     * 模拟
     */
    FAKE = "Fake",
    /**
     * 引擎
     */
    ENGINE = "engine",
    /**
     * 开放接口
     */
    OPENApi = "openApi",
    /**
      * 公共
      */
    COMMON = "common",
    /**
      * 资产
      */
    Token = "token"
}
declare enum ResponseSelectType {
    /**
     * 请求成功处理
     */
    SUCCESS_HANDLER = "successHandler",
    /**
     * 请求失败处理
     */
    ERROR_HANDLER = "errorHandler"
}
declare enum RequiredType {
    GET = "get",
    POST = "post"
}
export interface ProjectPbiBase extends Pick<ProjectPbi, "id" | "name" | "funcList"> {
}
interface RequestSqlType {
    requestId: string;
    url: string;
    method?: string;
    sqlId?: string | number;
    headers?: any;
    dataHandler?: any;
    pageCode?: string;
}
interface setDataSourceToSchemaType {
    field: any;
    type: DialogConfigType;
    requestData: RequestSqlType;
}
interface ResponseConfigType {
    selectValue: ResponseSelectType;
    responseData: {
        type: string;
        value: string;
    } | Function;
}
declare enum LoadingConfigOpenMode {
    /**
     * 默认模式
     */
    default = "default",
    /**
     * 自定义模式
     */
    custom = "custom"
}
/**
 * 弹框配置分2种
 * 1，默认配置，配置提示文字和颜色
 * 2，自定义配置，配置页面上的弹框，暂时不做
 */
interface LoadingConfigType {
    openType: boolean;
    openMode: LoadingConfigOpenMode;
    defaultConfig?: {
        loadText: string;
        loadColor: string;
        loadBgColor: string;
        loadBgOverlay: string;
    };
    custom?: {
        pageLoadingId: string;
    };
}
declare enum MessageModeType {
    success = "success",
    error = "error",
    warning = "warning",
    notice = "notice",
    help = "help",
    loading = "loading"
}
interface MessageConfigType {
    openType: boolean;
    modeTypeList: MessageModeType[];
    contentList: string[];
    bgColorList?: string[];
    textColor?: string[];
    borderRadius?: number[];
    borderColor?: string[];
    iconList?: string[];
    imgIcon?: string[];
    iconMode?: string[];
}
interface DataSourceItemType {
    selectValue: DialogConfigType;
    pbiId: number;
    pbiFuncName: string;
    _table: string;
    apiParams: Array<RequestParamMappingDataType>;
    fakeData: any;
    pactAddress: RequestParamMappingDataType;
    responseConfig: ResponseConfigType;
    loadingConfig: LoadingConfigType;
    messageConfig: MessageConfigType;
    [key: string]: any;
}
interface PackDataPropsType {
    data: PactDataType;
    onChange: Function;
}
interface DataSourceAllType {
    id: string;
    isInit: boolean;
    type: string;
    options: {
        isSave: boolean;
        id: string;
        dataSourceName: string;
        dataSource: DataSourceItemType;
        extendFieldList: Array<extendItem>;
    };
}
interface PactDataType {
    pbiId: number;
    pbiFuncName: string;
    apiParams: RequestParamMappingDataType[];
    [key: string]: any;
}
interface DataSourceListItemType {
    id: string;
    dataSourceId: string;
    dataSource: DataSourceItemType;
    isInit?: boolean;
    grade?: number;
}
interface newDataSourceListItemType {
    id: string;
    dataSourceId: string;
    dataSourceName: string;
    apiParams: RequestParamMappingDataType[];
    selectValue?: DialogConfigType;
    pactAddress?: RequestParamMappingDataType;
    loadingConfig?: LoadingConfigType;
    messageConfig?: MessageConfigType;
}
interface CDataSourceType {
    value: DataSourceItemType;
    field?: any;
    prop?: any;
    [key: string]: any;
}
interface CLoadingConfigType {
    value: LoadingConfigType;
    field?: any;
    prop?: any;
    [key: string]: any;
}
interface CMessageConfigType {
    value: MessageConfigType;
    field?: any;
    prop?: any;
    tipOptions?: Array<{
        label: string;
        value: MessageModeType;
    }>;
    hideOpentype?: boolean;
    [key: string]: any;
}
interface CDataSourceListType {
    value: newDataSourceListItemType[];
    field?: {
        extraProps: {
            maxAddNum?: number;
            [key: string]: any;
        };
        [key: string]: any;
    };
    onChange: Function;
    prop?: any;
    maxAddNum?: number;
    [key: string]: any;
}
interface LangType {
    en: string;
    zh: string;
    zh_tw: string;
}
export { PackDataPropsType, PactDataType, ResponseSelectType, ResponseConfigType, DataSourceItemType, DialogConfigType, RequiredType, RequestSqlType, setDataSourceToSchemaType, CDataSourceType, CDataSourceListType, DataSourceListItemType, LoadingConfigType, LoadingConfigOpenMode, CLoadingConfigType, MessageModeType, MessageConfigType, CMessageConfigType, newDataSourceListItemType, DataSourceAllType, LangType };
