import { Component, SyntheticEvent } from 'react'; import { IconFolderLine, IconDocumentLine } from '@instructure/ui-icons'; import { TreeCollection } from './TreeCollection'; import { TreeButton } from './TreeButton'; import { TreeNode } from './TreeNode'; import type { Collection, CollectionData, CollectionProps, TreeBrowserProps, TreeBrowserState } from './props'; /** --- category: components --- **/ declare class TreeBrowser extends Component { static readonly componentId = "TreeBrowser"; static allowedProps: readonly ("collections" | "items" | "rootId" | "expanded" | "defaultExpanded" | "selectionType" | "onCollectionToggle" | "onItemClick" | "showRootCollection" | "treeLabel" | "sortOrder" | "animation" | "getItemProps" | "getCollectionProps" | "onCollectionClick" | keyof import("./props").TreeBrowserCommonProps)[]; static propTypes: import("@instructure/shared-types").PropValidators<"collections" | "items" | "rootId" | "expanded" | "defaultExpanded" | "selectionType" | "onCollectionToggle" | "onItemClick" | "showRootCollection" | "treeLabel" | "sortOrder" | "animation" | "getItemProps" | "getCollectionProps" | "onCollectionClick" | keyof import("./props").TreeBrowserCommonProps>; static defaultProps: { size: string; variant: string; showRootCollection: boolean; collectionIcon: typeof IconFolderLine; collectionIconExpanded: typeof IconFolderLine; itemIcon: typeof IconDocumentLine; getItemProps: (props: unknown) => unknown; getCollectionProps: (props: unknown) => unknown; defaultExpanded: never[]; selectionType: string; sortOrder: () => number; animation: boolean; }; static Node: typeof TreeNode; static Collection: typeof TreeCollection; static Button: typeof TreeButton; ref: Element | null; constructor(props: TreeBrowserProps); componentDidMount(): void; componentDidUpdate(): void; get _root(): Element | null; handleCollectionClick: (e: SyntheticEvent, collection: CollectionData, expand?: boolean) => void; handleItemClick: (e: SyntheticEvent, item: CollectionData) => void; handleKeyDown: (event: React.KeyboardEvent, node?: CollectionData) => void; get collections(): Collection[]; get expanded(): (string | number | undefined)[]; getExpanded(state: TreeBrowserState, props: TreeBrowserProps): (string | number | undefined)[]; expandOrCollapseNode(collection: CollectionData): void; handleSelection(id: string | number | undefined, type: string): void; getNavigableNodes(): Element[]; moveFocus(delta: number): void; homeOrEnd(keyCode: number): void; handleLeftOrRightArrow(keyCode: number, node?: CollectionData): void; handleOpenOrNext(node?: CollectionData): void; handleCloseOrPrevious(node?: CollectionData): void; handleActivation(event: React.KeyboardEvent, node?: CollectionData): void; getSubCollections(collection: Collection): CollectionProps[]; getItems(collection: Collection): { [key: string]: unknown; id: number | string; name: string; descriptor?: string; thumbnail?: string; }[]; getIsFlattened: (collection: Collection) => boolean; getCollectionProps(collection: Collection): CollectionProps; getExpandedIndex(expanded: (string | number | undefined)[], id?: string | number): number; renderRoot(): import("@emotion/react/jsx-runtime").JSX.Element[]; render(): import("@emotion/react/jsx-runtime").JSX.Element; } export default TreeBrowser; export { TreeBrowser }; //# sourceMappingURL=index.d.ts.map