///
import { MessageProps } from '@alifd/next/types/message';
import { NodeProps, TreeProps } from '@alifd/next/types/tree';
import { CommonRequestConfig } from '@teamix/utils';
import { ProTagItem } from '../field';
import { ProActionConfig, ProCardProps, ProFieldProps, ProFieldRenderProps, ProFieldType } from '..';
/** ProSidebar 定义 */
export declare type ProSidebarProps = {
/** 数据源 */
dataSource?: ProSidebarDataSource;
/** 点击的节点 */
selectedKeys?: TreeProps['selectedKeys'];
/** 非受控 默认点击的节点 */
defaultSelectedKeys?: TreeProps['defaultSelectedKeys'];
/** 选中的节点 */
checkedKeys?: TreeProps['checkedKeys'];
/** 非受控 默认选中的节点 */
defaultCheckedKeys?: TreeProps['defaultCheckedKeys'];
/** 节点点击回调 */
onSelect?: TreeProps['onSelect'];
/** 节点选中回调 */
onCheck?: TreeProps['onCheck'];
/** 树配置 */
treeProps?: TreeProps;
/** 卡片配置 */
cardProps?: ProCardProps;
/** 显示数量 */
showExtraNumber?: boolean;
/** actionRef */
actionRef?: React.MutableRefObject;
/** 渲染树节点之前的回调 dataSource 变动时调用 */
beforeRenderNode?: (item: ProSidebarDataSourceItem, level: number, dataSource: ProSidebarDataSource) => ProSidebarDataSourceItem;
/** 监听渲染树节点之前的事件 当节点状态改变、dataSource 变动时调用 */
onBeforeRenderNodeEvent?: (item: ProSidebarDataSourceItem, checkedKeys: TreeProps['checkedKeys'], selectedKeys: TreeProps['selectedKeys'], dataSource: ProSidebarDataSource) => ProSidebarDataSourceItem;
} & Omit, 'onSelect'> & Omit & ProSidebarRequestProps;
/** 数据源定义 */
export declare type ProSidebarDataSource = ProSidebarDataSourceItem[];
export declare type ProSidebarDataSourceItem = {
/** 展示值 */
label?: string;
/** 绑定值 */
value?: any;
/** 标签 */
tag?: ProTagItem;
/** 右侧操作、状态区 */
extra?: ProSidebarExtraProps;
/** 子项 */
children?: ProSidebarDataSourceItem[];
/** label 类型 对应 ProFieldType */
valueType?: ProFieldType;
/** 渲染 label 的 render 对应 ProFieldRenderProps */
render?: ProFieldRenderProps;
/** ProField 的其他配置项 */
fieldProps?: ProFieldProps;
/** TreeNode 的其他配置项 */
treeNodeProps?: ProFieldProps;
} & NodeProps;
/** 单项 extra 配置项 */
export declare type ProSidebarExtraProps = React.ReactNode | (ProSidebarExtraPropsItem | React.ReactNode)[];
export declare type ProSidebarExtraPropsItem = {
/** 相应功能项 */
type: 'action' | 'iconSwitch' | 'iconAction' | 'custom';
/** action 相应配置 */
action: ProActionConfig;
/** 相应配置 */
props: any;
/** 是否 hover 显示 */
hover?: boolean;
/** 自定义渲染 仅在 custom 有效 */
trigger?: any;
};
/** sidebar 容器定义 */
export declare type ProSidebarContainerProps = {
children?: React.ReactNode;
/** 搜索输入提示 */
searchPlaceholder?: string;
/** 搜索输入其他参数 ProField 参数 */
searchProps?: ProFieldProps;
/** 是否展示搜索框 */
showSearch?: boolean;
/** 自定义搜索 */
customSearch?: React.ReactNode;
/** 搜索框变化的回调函数 */
searchOnChange?: (value: any) => void;
/** 通知提示消息区域 */
message?: React.ReactNode;
/** 自定义消息通知区域 */
customMessage?: React.ReactNode;
/** 消息通知区域的其他参数 */
messageProps?: MessageProps;
/** 滚动区域 仅在使用 ProPageContainer 时有效 */
scrollArea?: 'all' | 'tree';
/** 是否显示展开全部 */
showExpandAll?: boolean;
/** 展开全部 状态 */
expandAllState?: boolean;
/** 是否显示展开层级 */
showExpandLevel?: boolean;
/** 展开全部变化回调 */
onExpandAllChange?: (state: boolean) => void;
/** 展开层级变化回调 */
onExpandLevelChange?: (state: number) => void;
/** 展开层级 层级 */
expandLevel?: number;
/** 展开层级 当前所展示层级 */
expandLevelState?: number;
/** 列表 or tree */
isTree?: boolean;
} & ProCardProps;
/** ProSidebarTree 内容定义 */
export declare type ProSidebarTreeProps = {
dataSource?: ProSidebarDataSource;
/** 搜索过滤关键词 */
searchKey?: string;
/** 显示数量 */
showExtraNumber?: ProSidebarProps['showExtraNumber'];
/** actionRef */
actionRef: React.MutableRefObject;
/** 渲染树节点之前的回调 */
onBeforeRenderNodeEvent?: ProSidebarProps['onBeforeRenderNodeEvent'];
/** 渲染树节点之前的回调 dataSource 变动时调用 */
beforeRenderNode?: ProSidebarProps['beforeRenderNode'];
/** 展开全部 */
expandAll?: boolean;
/** 展开节点层级 */
expandLevel?: number;
/** dataSource 变化的回调 */
onDataSourceChange?: (dataSource: ProSidebarDataSource) => void;
} & TreeProps;
/** ProSidebarTreeNode 内容定义 */
export declare type ProSidebarTreeNodeProps = {
dataSource?: ProSidebarDataSource;
};
/** ProSidebar ActionRef 定义 */
export declare type ProSidebarActionType = {
/** 设置树节点 */
setTreeNode?: (treeNode: ProSidebarDataSourceItem) => void;
/** 刷新 */
refresh?: () => void;
};
/** ProSidebar 请求相关定义 */
export declare type ProSidebarRequestProps = {
/** 请求地址 */
url?: string;
} & Omit;