import { default as React } from 'react';
import { default as Color } from 'color';
import { VariableSizeNodePublicState } from 'react-vtree';
import { NodeComponentProps } from 'react-vtree/dist/es/Tree';
import { AccountReport, COABalance, COABalanceType, NestedClassID } from '@zeniai/client-epic-state';
import { CompareMode } from '../../common/compareMode';
import { AccountBalanceClickMeta, ReportElementData, ReportTreeKind, ReportTreeNodeData } from '../reportTreeTypes';
export declare const TreeNode: React.FC<NodeComponentProps<ReportTreeNodeData, VariableSizeNodePublicState<ReportTreeNodeData>> & {
    compareMode: Exclude<CompareMode, "off">;
    isSticky: boolean;
    backgroundColor?: Color;
    treeNodePadding?: {
        left: number;
        right: number;
    };
    onCompareModeChanged?: (_newCompareMode: Exclude<CompareMode, "off">) => void;
    onNodeClick?: (_treeNodeId: string, _isOpen: boolean, _account?: AccountReport, _balance?: COABalance, _balanceClickMeta?: AccountBalanceClickMeta) => void;
    onNodeCollapseToggled?: (_treeNodeId: string, _isOpen: boolean) => void;
    onToggleCheck?: (_nodeId: NestedClassID, _isChecked: boolean) => void;
}>;
export declare const NodeRow: (props: {
    compareMode: Exclude<CompareMode, "off">;
    height: number;
    id: string;
    isFirstNode: boolean;
    isLastNode: boolean;
    isLeaf: boolean;
    isOpen: boolean;
    isScrolling: boolean;
    isSticky: boolean;
    nestingLevel: number;
    reportElementData: ReportElementData;
    treeKind: ReportTreeKind;
    backgroundColor?: Color;
    nodeClickHandler?: (treeNodeId: string, account?: AccountReport, balance?: COABalance, balanceClickMeta?: AccountBalanceClickMeta) => void;
    onAdditionalBalanceSelectionChanged?: (type: COABalanceType) => void;
    onCompareModeChanged?: (newCompareMode: Exclude<CompareMode, "off">) => void;
    onFluxBalanceClick?: () => void;
    toggleCheckHandler?: (nodeId: NestedClassID, isChecked: boolean) => void;
}) => import("react/jsx-runtime").JSX.Element | null;
export declare const ReportByClassNodeRow: ({ id, treeKind, reportElementData, height, backgroundColor, isSticky, isScrolling, isLeaf, isLastNode, isOpen, nestingLevel, compareMode, nodeClickHandler, onCompareModeChanged, }: {
    compareMode: Exclude<CompareMode, "off">;
    height: number;
    id: string;
    isLastNode: boolean;
    isLeaf: boolean;
    isOpen: boolean;
    isScrolling: boolean;
    isSticky: boolean;
    nestingLevel: number;
    reportElementData: ReportElementData;
    treeKind: ReportTreeKind;
    backgroundColor?: Color;
    nodeClickHandler?: (treeNodeId: string, account?: AccountReport, balance?: COABalance, balanceClickMeta?: AccountBalanceClickMeta) => void;
    onCompareModeChanged?: (newCompareMode: Exclude<CompareMode, "off">) => void;
}) => import("react/jsx-runtime").JSX.Element | null;
export declare const ReportByProjectNodeRow: ({ id, treeKind, reportElementData, height, backgroundColor, isSticky, isScrolling, isLeaf, isLastNode, isOpen, compareMode, nodeClickHandler, onCompareModeChanged, }: {
    compareMode: Exclude<CompareMode, "off">;
    height: number;
    id: string;
    isLastNode: boolean;
    isLeaf: boolean;
    isOpen: boolean;
    isScrolling: boolean;
    isSticky: boolean;
    nestingLevel: number;
    reportElementData: ReportElementData;
    treeKind: ReportTreeKind;
    backgroundColor?: Color;
    nodeClickHandler?: (treeNodeId: string, account?: AccountReport, balance?: COABalance, balanceClickMeta?: AccountBalanceClickMeta) => void;
    onCompareModeChanged?: (newCompareMode: Exclude<CompareMode, "off">) => void;
}) => import("react/jsx-runtime").JSX.Element | null;
export declare const ReportNodeRow: ({ id, treeKind, reportElementData, height, backgroundColor, isSticky, isScrolling, isLeaf, isLastNode, isOpen, compareMode, nodeClickHandler, onCompareModeChanged, }: {
    compareMode: Exclude<CompareMode, "off">;
    height: number;
    id: string;
    isLastNode: boolean;
    isLeaf: boolean;
    isOpen: boolean;
    isScrolling: boolean;
    isSticky: boolean;
    reportElementData: ReportElementData;
    treeKind: ReportTreeKind;
    backgroundColor?: Color;
    nodeClickHandler?: (treeNodeId: string, account?: AccountReport, balance?: COABalance, balanceClickMeta?: AccountBalanceClickMeta) => void;
    onCompareModeChanged?: (newCompareMode: Exclude<CompareMode, "off">) => void;
}) => import("react/jsx-runtime").JSX.Element | null;
export declare const DashboardByClassNodeRow: ({ id, treeKind, reportElementData, height, backgroundColor, isSticky, isScrolling, isLeaf, isLastNode, isOpen, nestingLevel, compareMode, nodeClickHandler, onCompareModeChanged, }: {
    compareMode: Exclude<CompareMode, "off">;
    height: number;
    id: string;
    isLastNode: boolean;
    isLeaf: boolean;
    isOpen: boolean;
    isScrolling: boolean;
    isSticky: boolean;
    nestingLevel: number;
    reportElementData: ReportElementData;
    treeKind: ReportTreeKind;
    backgroundColor?: Color;
    nodeClickHandler?: (treeNodeId: string, account?: AccountReport, balance?: COABalance, balanceClickMeta?: AccountBalanceClickMeta) => void;
    onCompareModeChanged?: (newCompareMode: Exclude<CompareMode, "off">) => void;
}) => import("react/jsx-runtime").JSX.Element | null;
export declare const DashboardNodeRow: ({ id, treeKind, reportElementData, height, backgroundColor, isSticky, isScrolling, isLeaf, isLastNode, isOpen, compareMode, nodeClickHandler, onCompareModeChanged, }: {
    compareMode: Exclude<CompareMode, "off">;
    height: number;
    id: string;
    isLastNode: boolean;
    isLeaf: boolean;
    isOpen: boolean;
    isScrolling: boolean;
    isSticky: boolean;
    reportElementData: ReportElementData;
    treeKind: ReportTreeKind;
    backgroundColor?: Color;
    nodeClickHandler?: (treeNodeId: string, account?: AccountReport, balance?: COABalance, balanceClickMeta?: AccountBalanceClickMeta) => void;
    onCompareModeChanged?: (newCompareMode: Exclude<CompareMode, "off">) => void;
}) => import("react/jsx-runtime").JSX.Element | null;
export declare const CashFlowAndBalanceSheetReportsNodeRow: ({ id, treeKind, reportElementData, height, backgroundColor, isSticky, isScrolling, isLeaf, isLastNode, isOpen, compareMode, nodeClickHandler, onCompareModeChanged, }: {
    compareMode: Exclude<CompareMode, "off">;
    height: number;
    id: string;
    isLastNode: boolean;
    isLeaf: boolean;
    isOpen: boolean;
    isScrolling: boolean;
    isSticky: boolean;
    reportElementData: ReportElementData;
    treeKind: ReportTreeKind;
    backgroundColor?: Color;
    nodeClickHandler?: (treeNodeId: string, account?: AccountReport, balance?: COABalance, balanceClickMeta?: AccountBalanceClickMeta) => void;
    onCompareModeChanged?: (newCompareMode: Exclude<CompareMode, "off">) => void;
}) => import("react/jsx-runtime").JSX.Element | null;
export declare const NameOnlyNodeRow: ({ id, treeKind, reportElementData, height, backgroundColor, isSticky, isScrolling, isLeaf, isLastNode, isOpen, toggleCheckHandler, }: {
    compareMode: Exclude<CompareMode, "off">;
    height: number;
    id: string;
    isLastNode: boolean;
    isLeaf: boolean;
    isOpen: boolean;
    isScrolling: boolean;
    isSticky: boolean;
    reportElementData: ReportElementData;
    treeKind: ReportTreeKind;
    backgroundColor?: Color;
    nodeClickHandler?: (treeNodeId: string, account?: AccountReport, balance?: COABalance, balanceClickMeta?: AccountBalanceClickMeta) => void;
    onCompareModeChanged?: (newCompareMode: Exclude<CompareMode, "off">) => void;
    toggleCheckHandler?: (nodeId: NestedClassID, isChecked: boolean) => void;
}) => import("react/jsx-runtime").JSX.Element | null;
export declare const OpExByVendorNodeRow: ({ id, treeKind, reportElementData, height, backgroundColor, isSticky, isScrolling, isLastNode, compareMode, onCompareModeChanged, }: {
    compareMode: Exclude<CompareMode, "off">;
    height: number;
    id: string;
    isLastNode: boolean;
    isScrolling: boolean;
    isSticky: boolean;
    reportElementData: ReportElementData;
    treeKind: ReportTreeKind;
    backgroundColor?: Color;
    onCompareModeChanged?: (newCompareMode: Exclude<CompareMode, "off">) => void;
}) => import("react/jsx-runtime").JSX.Element | null;
export declare const AgingReportNodeRow: ({ id, treeKind, reportElementData, height, isOpen, isSticky, isScrolling, isLastNode, backgroundColor, nodeClickHandler, }: {
    height: number;
    id: string;
    isLastNode: boolean;
    isOpen: boolean;
    isScrolling: boolean;
    isSticky: boolean;
    reportElementData: ReportElementData;
    treeKind: ReportTreeKind;
    backgroundColor?: Color;
    nodeClickHandler?: (treeNodeId: string) => void;
}) => import("react/jsx-runtime").JSX.Element | null;
export declare const FluxAnalysisNodeRow: ({ id, reportElementData, height, backgroundColor, isSticky, isScrolling, isLeaf, isLastNode, isFirstNode, isOpen, onFluxBalanceClick, nodeClickHandler, }: {
    height: number;
    id: string;
    isFirstNode: boolean;
    isLastNode: boolean;
    isLeaf: boolean;
    isOpen: boolean;
    isScrolling: boolean;
    isSticky: boolean;
    reportElementData: ReportElementData;
    treeKind: ReportTreeKind;
    backgroundColor?: Color;
    nodeClickHandler?: (treeNodeId: string, account?: AccountReport, balance?: COABalance, balanceClickMeta?: AccountBalanceClickMeta) => void;
    onFluxBalanceClick?: () => void;
}) => import("react/jsx-runtime").JSX.Element | null;
export declare const AccountReconNodeRow: ({ id, reportElementData, height, isSticky, isOpen, isLastNode, nodeClickHandler, }: {
    height: number;
    id: string;
    isLastNode: boolean;
    isOpen: boolean;
    isSticky: boolean;
    reportElementData: ReportElementData;
    nodeClickHandler?: (treeNodeId: string, account?: AccountReport, balance?: COABalance) => void;
}) => import("react/jsx-runtime").JSX.Element | null;
