import React from 'react';
import { DataSourceType } from './serve';
/**
 * 过滤项类型定义
 */
declare type BaseFilterItem = {
    [key: string]: 'all' | BaseFilterItem;
};
declare type FilterItem = 'all' | BaseFilterItem;
/**
 * 树节点数据类型
 */
interface TreeNodeType {
    title: string;
    value: string;
    selectable?: boolean;
    children?: TreeNodeType[];
    item?: any;
    isVariable?: boolean;
}
/**
 * 变量项类型定义
 */
interface VariableItem extends Omit<TreeNodeType, 'children'> {
    label: string;
    value: string;
    item: any;
    children?: VariableItem[];
}
/**
 * 数据源选择器属性定义
 */
export interface DataSourceTreeSelectProps {
    /** 当前选中的值 */
    value?: any;
    /** 值变化时的回调函数 */
    onChange?: (value: any) => void;
    /** 是否禁用 */
    disabled?: boolean;
    /** 模式：添加/编辑/查看/列表 */
    mode?: 'add' | 'edit' | 'view' | 'list';
    /** 可用变量列表 */
    variables?: VariableItem[];
    /** 是否显示原始数据源 */
    isShowOriginalDataSource?: boolean;
    /** 过滤条件 */
    filters?: {
        tables?: FilterItem;
        variables?: FilterItem;
    };
    /** 数据源列表（从外部传入） */
    dataSource?: DataSourceType[];
}
/**
 * 数据源选择器组件
 * @param props 组件属性
 */
declare const DataSourceTreeSelect: (props: DataSourceTreeSelectProps) => React.JSX.Element;
export default DataSourceTreeSelect;
