import { Component, ContextType, ReactElement, SyntheticEvent } from 'react'; import type { TreeBrowserCollectionProps, TreeCollectionState } from './props'; import type { CompareObject } from '../props'; import { CollectionItem, CollectionProps, CollectionData } from '../props'; import TreeBrowserContext from '../TreeBrowserContext'; /** --- parent: TreeBrowser id: TreeBrowser.Collection --- **/ declare class TreeCollection extends Component { static readonly componentId = "TreeBrowser.Collection"; static allowedProps: readonly ("collections" | "items" | "expanded" | "onItemClick" | "getItemProps" | "getCollectionProps" | "onCollectionClick" | keyof import("../props").TreeBrowserCommonProps | "level" | "position" | "onKeyDown" | "numChildren" | "selection" | "isCollectionFlattened" | "compareFunc" | keyof { id: number | string; name: string; descriptor?: string; containerRef?: (el: HTMLElement | null) => void; renderBeforeItems?: ReactElement; renderAfterItems?: ReactElement; })[]; static propTypes: import("@instructure/shared-types").PropValidators<"collections" | "items" | "expanded" | "onItemClick" | "getItemProps" | "getCollectionProps" | "onCollectionClick" | keyof import("../props").TreeBrowserCommonProps | "level" | "position" | "onKeyDown" | "numChildren" | "selection" | "isCollectionFlattened" | "compareFunc" | keyof { id: number | string; name: string; descriptor?: string; containerRef?: (el: HTMLElement | null) => void; renderBeforeItems?: ReactElement; renderAfterItems?: ReactElement; }>; static contextType: import("react").Context; context: ContextType; static defaultProps: { collections: never[]; items: never[]; expanded: boolean; selection: string; size: string; variant: string; getItemProps: (props: unknown) => unknown; getCollectionProps: (props: unknown) => unknown; isCollectionFlattened: boolean; }; ref: Element | null; constructor(props: TreeBrowserCollectionProps); componentDidMount(): void; componentDidUpdate(): void; get itemsLevel(): number; handleFocus: (e: SyntheticEvent, item: CollectionData) => void; handleBlur: (e: SyntheticEvent, _item: CollectionData) => void; handleCollectionClick: (e: React.MouseEvent) => void; handleCollectionKeyDown: (e: React.KeyboardEvent) => void; get collectionsCount(): number; get itemsCount(): number; get childCount(): number; sortChildren(): CompareObject[]; renderChildren(): import("@emotion/react/jsx-runtime").JSX.Element; renderCollectionChildren(collectionId: string | number | undefined, child: ReactElement, position: number, keyword: 'before' | 'after'): import("@emotion/react/jsx-runtime").JSX.Element; renderCollectionNode(collection: CollectionProps, position: number): import("@emotion/react/jsx-runtime").JSX.Element; renderItemNode(item: CollectionItem, position: number): import("@emotion/react/jsx-runtime").JSX.Element; getCommonButtonProps(): { id: string | number; name: string; descriptor: string | undefined; size: "small" | "medium" | "large" | undefined; variant: "folderTree" | "indent" | undefined; itemIcon: import("@instructure/shared-types").Renderable; level: number; renderContent: ((props: import("../..").TreeBrowserButtonProps) => JSX.Element) | undefined; }; render(): import("@emotion/react/jsx-runtime").JSX.Element; } export default TreeCollection; export { TreeCollection }; //# sourceMappingURL=index.d.ts.map