import React from 'react';
export type TCTreeExpandType = 'noChild' | 'expanded' | 'notExpanded';
export type TIdx = number | string;
export type TCTreeIdx = string | number | symbol;
export interface ICTreeIcons {
    noChild?: JSX.Element | null;
    expanded?: JSX.Element | null;
    notExpanded?: JSX.Element | null;
}
export interface ICTreeList {
    idx: TIdx;
    children?: ICTreeList[];
    [key: string]: any;
    disabled?: boolean;
}
export interface ICTreeProps {
    list: ICTreeList[];
    defaultDepth?: number;
    expands?: TIdx[];
    statics?: TIdx[];
    treeIcons?: ICTreeIcons;
    focusNode?: ICTreeList | TIdx | TIdx[];
    setFocusNode?: (node: any) => void;
    loading?: boolean;
    disabled?: boolean;
    disableRows?: (idx: TIdx) => boolean | string | undefined;
    expandFixed?: boolean;
    disableExpandOnClick?: boolean;
    disableExpandOnIconClick?: boolean;
    treeItemStyle?: React.CSSProperties;
    treeItemClassName?: string;
    treeItemCurrentClassName?: string;
    treeItemIconLeftPadding?: number;
    treeItemIconRightPadding?: number;
    treeItemLeftWidth?: number;
    treeItemContent?: (props: ICTreeItemProps) => JSX.Element | null;
    TreeRightStickyContent?: (props: ICTreeItemProps) => JSX.Element | null;
    onTreeItemClick?: (treeItem: ICTreeItemProps) => void;
    onTreeItemIconClick?: (treeItem: ICTreeItemProps) => void;
    onTreeItemRightClick?: (treeItem: ICTreeItemProps) => void;
    onExpand?: (newExpand: TIdx[]) => void;
    checkSet?: Set<TIdx>;
    onCheckChange?: (checkSet: Set<TIdx>) => void;
    CheckHeaderContent?: React.ReactNode;
    TreeRightStickyContentRightPadding?: number;
    disableSearchModule?: boolean;
    content?: React.ReactNode;
    disableHeader?: boolean;
    searchItemString?: string;
    overflowPadding?: number;
    useInheritCheck?: boolean;
}
export declare const CTree: (props: ICTreeProps) => import("react/jsx-runtime").JSX.Element;
export interface ICTreeItemProps extends ICTreeProps {
    idx: number | string;
    children?: ICTreeList[];
    content: any;
    defaultIcons: ICTreeIcons;
    depth: number;
    isItemDisabled: (idx: TIdx) => boolean;
    isLastSibling: boolean;
    isParentLastSibling: boolean;
    firstDrawDepth: number;
    drawDepth: number[];
    onInherit: (item: ICTreeList) => void;
    onCheck: (item: ICTreeList) => void;
    isHover?: boolean;
    isOverflow?: boolean;
    treeBodyRef: React.RefObject<HTMLDivElement>;
}
export declare const countTree: (list: ICTreeList[]) => number;
