import { FC, MouseEvent } from 'react';
import { ClasslistComposite, INodeRendererProps, TreeNodeType } from '@opensumi/ide-components';
import { IDecorationsService } from '@opensumi/ide-decoration/lib/common/decorations';
import { ExtensionCompositeTreeNode, ExtensionTreeNode } from '../vscode/api/tree-view/tree-view.node.defined';
export interface ITreeViewNodeProps {
    item: ExtensionTreeNode | ExtensionCompositeTreeNode;
    treeViewId: string;
    defaultLeftPadding?: number;
    leftPadding?: number;
    decorations?: ClasslistComposite;
    onTwistierClick?: (ev: MouseEvent, item: ExtensionTreeNode | ExtensionCompositeTreeNode, type: TreeNodeType) => void;
    onClick: (ev: MouseEvent, item: ExtensionTreeNode | ExtensionCompositeTreeNode, type: TreeNodeType) => void;
    onChange: (item: ExtensionTreeNode | ExtensionCompositeTreeNode) => void;
    onContextMenu?: (ev: MouseEvent, item: ExtensionTreeNode | ExtensionCompositeTreeNode, type: TreeNodeType) => void;
    onDragStart?: (ev: MouseEvent, item: ExtensionTreeNode | ExtensionCompositeTreeNode) => void;
    onDragEnter?: (ev: MouseEvent, item: ExtensionTreeNode | ExtensionCompositeTreeNode) => void;
    onDrop?: (ev: MouseEvent, item: ExtensionTreeNode | ExtensionCompositeTreeNode) => void;
    onDragOver?: (ev: MouseEvent, item: ExtensionTreeNode | ExtensionCompositeTreeNode) => void;
    onDragLeave?: (ev: MouseEvent, item: ExtensionTreeNode | ExtensionCompositeTreeNode) => void;
    decorationService: IDecorationsService;
    draggable: boolean;
}
export type TreeViewNodeRenderedProps = ITreeViewNodeProps & INodeRendererProps;
export declare const TreeViewNode: FC<TreeViewNodeRenderedProps>;
export declare const TREE_VIEW_NODE_HEIGHT = 22;
//# sourceMappingURL=extension-tree-view-node.d.ts.map