import { ReactNode, CSSProperties, ButtonHTMLAttributes, MouseEventHandler, HTMLAttributes, KeyboardEventHandler, ReactEventHandler, UIEvent, InputHTMLAttributes } from 'react'; declare const DATA_EXPLORER_APPEARANCE_OPTIONS: Readonly<{ surface: readonly [ "card", "flush" ]; preset: readonly [ "default", "soft", "compact", "tinted-glass", "flat", "glass", "hard-edge" ]; density: readonly [ "compact", "default", "comfortable" ]; radius: readonly [ "none", "sm", "md", "lg", "xl", "full" ]; border: readonly [ "none", "subtle", "solid", "strong" ]; background: readonly [ "plain", "muted", "soft", "glass", "dark-stage" ]; }>; type DataExplorerResolver = ((context: TContext) => TValue) | TValue; type DataExplorerSurface = (typeof DATA_EXPLORER_APPEARANCE_OPTIONS.surface)[number]; interface DataExplorerCapabilities { canRead?: boolean; canWrite?: boolean; canDelete?: boolean; [key: string]: boolean | undefined; } type DataExplorerThemePresetId = (typeof DATA_EXPLORER_APPEARANCE_OPTIONS.preset)[number]; type DataExplorerDensity = (typeof DATA_EXPLORER_APPEARANCE_OPTIONS.density)[number]; type DataExplorerRadius = (typeof DATA_EXPLORER_APPEARANCE_OPTIONS.radius)[number]; type DataExplorerBorder = (typeof DATA_EXPLORER_APPEARANCE_OPTIONS.border)[number]; type DataExplorerBackground = (typeof DATA_EXPLORER_APPEARANCE_OPTIONS.background)[number]; type DataExplorerControlTone = "danger" | "default" | "muted" | "primary"; interface DataExplorerThemeStyles { surfaceRoot?: CSSProperties; toolbarRoot?: CSSProperties; toolbarSearch?: CSSProperties; toolbarViewSwitch?: CSSProperties; control?: CSSProperties; controlActive?: CSSProperties; controlDisabled?: CSSProperties; menuContent?: CSSProperties; menuItem?: CSSProperties; cardRoot?: CSSProperties; footerRoot?: CSSProperties; previewRoot?: CSSProperties; detailRoot?: CSSProperties; } interface DataExplorerThemeSlots { surfaceRoot?: string; toolbarRoot?: string; toolbarLeading?: string; toolbarSearch?: string; toolbarSearchIcon?: string; toolbarSearchInput?: string; toolbarViewSwitch?: string; toolbarViewButton?: string; toolbarViewButtonActive?: string; toolbarActions?: string; actionBarRoot?: string; actionBarLeading?: string; actionBarActions?: string; actionBarTrailing?: string; actionButtonBase?: string; actionButtonDefault?: string; actionButtonPrimary?: string; actionButtonDanger?: string; actionButtonMuted?: string; actionButtonActive?: string; actionButtonDisabled?: string; actionIconButton?: string; actionToggleActive?: string; controlButton?: string; controlButtonIcon?: string; controlButtonLabel?: string; controlSelectTrigger?: string; controlSelectValue?: string; controlCheckbox?: string; controlCheckboxIndicator?: string; controlCheckboxLabel?: string; menuTrigger?: string; menuContent?: string; menuLabel?: string; menuSeparator?: string; menuItem?: string; menuItemPrimary?: string; menuItemDanger?: string; menuItemMuted?: string; menuItemIcon?: string; menuItemLabel?: string; cardRoot?: string; cardInteractive?: string; cardSelected?: string; cardDisabled?: string; cardHeader?: string; cardMedia?: string; cardFooter?: string; recordCardRoot?: string; recordCardActive?: string; footerRoot?: string; footerSummary?: string; footerJumpButton?: string; footerPageSizeSelect?: string; previewRoot?: string; previewPlaceholder?: string; previewActions?: string; previewControls?: string; previewZoomLabel?: string; previewControlButton?: string; previewNavigationButton?: string; detailRoot?: string; detailHeader?: string; detailLeading?: string; detailNavigation?: string; detailNavigationButton?: string; detailCloseButton?: string; detailPreviewPanel?: string; detailPreviewFrame?: string; detailRightPanel?: string; detailRightPanelBody?: string; treeShellRoot?: string; treeShellHeader?: string; treeShellTitle?: string; treeShellSubtitle?: string; treeShellToolbar?: string; treeShellBody?: string; treeShellFooter?: string; treeRoot?: string; treeGroup?: string; treeGroupHeader?: string; treeGroupHeaderButton?: string; treeGroupContent?: string; treeGroupActions?: string; treeNode?: string; treeNodeButton?: string; treeNodeSelected?: string; treeNodeDisabled?: string; treeNodeDragging?: string; treeNodeToggle?: string; treeNodeIcon?: string; treeNodeLabel?: string; treeNodeDescription?: string; treeNodeMeta?: string; treeNodeBadge?: string; treeNodeActions?: string; treeNodeChildren?: string; treeNodeDragHandle?: string; treeEmpty?: string; treeError?: string; treeLoading?: string; } interface DataExplorerAppearance { surface?: DataExplorerSurface; preset?: DataExplorerThemePresetId; density?: DataExplorerDensity; radius?: DataExplorerRadius; border?: DataExplorerBorder; background?: DataExplorerBackground; slots?: Partial; styles?: DataExplorerThemeStyles; } interface DataExplorerResolvedTheme { surface: DataExplorerSurface; preset: DataExplorerThemePresetId; density: DataExplorerDensity; radius: DataExplorerRadius; border: DataExplorerBorder; background: DataExplorerBackground; slots: Required; styles: DataExplorerThemeStyles; } interface DataExplorerAction { id: string; label: ReactNode; icon?: ReactNode; title?: string; tone?: DataExplorerControlTone; active?: DataExplorerResolver; visible?: DataExplorerResolver; disabled?: DataExplorerResolver; loading?: DataExplorerResolver; render?: (context: TContext) => ReactNode; onClick?: (context: TContext) => Promise | void; } type DataExplorerToolbarActionKind = "button" | "icon-button" | "menu" | "select" | "toggle"; interface DataExplorerToolbarActionItem { id: string; label: ReactNode; icon?: ReactNode; title?: string; tone?: DataExplorerControlTone; separatorBefore?: boolean; separatorAfter?: boolean; visible?: DataExplorerResolver; disabled?: DataExplorerResolver; loading?: DataExplorerResolver; active?: DataExplorerResolver; onAction?: (context: TContext) => Promise | void; } interface DataExplorerToolbarActionOption { value: string; label: ReactNode; icon?: ReactNode; title?: string; disabled?: DataExplorerResolver; } interface DataExplorerToolbarAction extends DataExplorerAction { kind?: DataExplorerToolbarActionKind; triggerLabel?: string; menuLabel?: ReactNode; selectDisplay?: "label-value" | "value"; align?: "center" | "end" | "start"; sideOffset?: number; items?: Array>; value?: DataExplorerResolver; options?: Array>; checked?: DataExplorerResolver; onAction?: (context: TContext) => Promise | void; onValueChange?: (value: string, context: TContext) => Promise | void; onCheckedChange?: (checked: boolean, context: TContext) => Promise | void; renderTrigger?: (context: TContext) => ReactNode; wrapTrigger?: (trigger: ReactNode, context: TContext) => ReactNode; } interface DataExplorerControlOption { value: string; label: ReactNode; icon?: ReactNode; title?: string; disabled?: boolean; } interface DataExplorerButtonClassNames { root?: string; icon?: string; label?: string; } interface DataExplorerButtonProps extends Omit, "children" | "className" | "disabled" | "onClick" | "style" | "title" | "type"> { children?: ReactNode; label?: ReactNode; icon?: ReactNode; endIcon?: ReactNode; type?: "button" | "reset" | "submit"; title?: string; ariaLabel?: string; tone?: DataExplorerControlTone; active?: boolean; iconOnly?: boolean; disabled?: boolean; loading?: boolean; stopPropagation?: boolean; appearance?: DataExplorerAppearance; className?: string; classNames?: DataExplorerButtonClassNames; style?: CSSProperties; onClick?: MouseEventHandler; } interface DataExplorerSplitButtonItem { id: string; label: ReactNode; icon?: ReactNode; title?: string; tone?: DataExplorerControlTone; disabled?: boolean; } interface DataExplorerSplitButtonClassNames { root?: string; primary?: string; trigger?: string; content?: string; item?: string; } interface DataExplorerSplitButtonProps { label?: ReactNode; icon?: ReactNode; items?: DataExplorerSplitButtonItem[]; onPrimaryAction?: MouseEventHandler; onAction?: (id: string) => void; menuLabel?: ReactNode; triggerLabel?: string; title?: string; tone?: DataExplorerControlTone; active?: boolean; disabled?: boolean; appearance?: DataExplorerAppearance; className?: string; classNames?: DataExplorerSplitButtonClassNames; } interface DataExplorerSelectClassNames { root?: string; trigger?: string; value?: string; icon?: string; content?: string; item?: string; itemIcon?: string; itemLabel?: string; } interface DataExplorerSelectProps { value?: string; options?: DataExplorerControlOption[]; label?: ReactNode; placeholder?: ReactNode; icon?: ReactNode; title?: string; triggerLabel?: string; disabled?: boolean; display?: "label-value" | "value"; align?: "center" | "end" | "start"; sideOffset?: number; appearance?: DataExplorerAppearance; className?: string; classNames?: DataExplorerSelectClassNames; style?: CSSProperties; onValueChange?: (value: string) => Promise | void; } interface DataExplorerCheckboxClassNames { root?: string; indicator?: string; icon?: string; label?: string; } interface DataExplorerCheckboxProps { checked?: boolean; icon?: ReactNode; label?: ReactNode; title?: string; disabled?: boolean; appearance?: DataExplorerAppearance; className?: string; classNames?: DataExplorerCheckboxClassNames; style?: CSSProperties; onCheckedChange?: (checked: boolean) => Promise | void; } type DataExplorerDisplayMediaKind = "audio" | "file" | "image" | "model" | "text" | "unknown" | "video" | (string & {}); interface DataExplorerDisplayMediaItem { id?: string; kind?: DataExplorerDisplayMediaKind; src?: string; thumbnail?: string; alt?: string; title?: ReactNode; node?: ReactNode; source?: TSource; } interface DataExplorerDisplayBadge { id?: string; label: ReactNode; title?: string; tone?: "danger" | "default" | "muted" | "primary" | "success" | "warning"; } interface DataExplorerDisplayMetadata { id?: string; label?: ReactNode; value: ReactNode; title?: string; } interface DataExplorerDetailFieldClassNames { root?: string; label?: string; icon?: string; required?: string; value?: string; helper?: string; error?: string; } type DataExplorerDataAttributes = { [key: `data-${string}`]: boolean | number | string | undefined; }; type DataExplorerHtmlAttributes = HTMLAttributes & DataExplorerDataAttributes; interface DataExplorerDetailFieldDefinition { id?: string; label: ReactNode; icon?: ReactNode; value?: ReactNode; helperText?: ReactNode; error?: ReactNode; required?: boolean; disabled?: boolean; render?: (context: TContext) => ReactNode; hidden?: DataExplorerResolver; title?: string; className?: string; valueClassName?: string; classNames?: DataExplorerDetailFieldClassNames; dataAttributes?: DataExplorerHtmlAttributes; labelDataAttributes?: DataExplorerHtmlAttributes; valueDataAttributes?: DataExplorerHtmlAttributes; helperDataAttributes?: DataExplorerHtmlAttributes; errorDataAttributes?: DataExplorerHtmlAttributes; } interface DataExplorerDetailSectionClassNames { root?: string; title?: string; body?: string; } interface DataExplorerDetailSectionDefinition { id: string; title?: ReactNode; fields?: Array>; children?: ((context: TContext) => ReactNode) | ReactNode; hidden?: DataExplorerResolver; className?: string; classNames?: DataExplorerDetailSectionClassNames; } interface DataExplorerDetailNavigation { visible?: boolean; index: number; count: number; previousLabel?: string; nextLabel?: string; onPrevious?: () => void; onNext?: () => void; } interface DataExplorerDetailShellClassNames { root?: string; header?: string; headerMain?: string; leading?: string; titleGroup?: string; title?: string; subtitle?: string; headerActions?: string; navigation?: string; navigationButton?: string; navigationCount?: string; closeButton?: string; body?: string; previewPanel?: string; previewStack?: string; previewMobileCount?: string; previewWrapper?: string; previewFrame?: string; previewContent?: string; previewNavigationButton?: string; rightPanel?: string; rightPanelBody?: string; sections?: string; section?: string; field?: string; } interface DataExplorerDetailShellProps { title: ReactNode; subtitle?: ReactNode; leading?: ReactNode; actions?: ReactNode; preview: ReactNode; previewVisible?: boolean; previewStyle?: CSSProperties; previewPadded?: boolean; previewCentered?: boolean; sections?: Array>; rightPanel?: ReactNode; context?: TContext; navigation?: DataExplorerDetailNavigation; closeLabel?: string; closeIcon?: ReactNode; closeVisible?: boolean; onClose?: () => void; appearance?: DataExplorerAppearance; className?: string; classNames?: DataExplorerDetailShellClassNames; } interface DataExplorerImagePreviewNaturalSize { width: number; height: number; } interface DataExplorerImagePreviewClassNames { root?: string; imageLayer?: string; image?: string; placeholder?: string; actions?: string; controls?: string; zoomLabel?: string; controlButton?: string; } interface DataExplorerImagePreviewProps { src?: null | string; alt?: string; empty?: ReactNode; actions?: ReactNode; actionContext?: unknown; toolbarActions?: Array; zoomStep?: number; stagePadding?: number; minScale?: number; maxScale?: number; controlsVisible?: boolean; zoomLabelVisible?: boolean; resetLabel?: string; zoomInLabel?: string; zoomOutLabel?: string; appearance?: DataExplorerAppearance; className?: string; classNames?: DataExplorerImagePreviewClassNames; onLoad?: (naturalSize: DataExplorerImagePreviewNaturalSize) => void; onError?: ReactEventHandler; } interface DataExplorerDetailSectionProps { section?: DataExplorerDetailSectionDefinition; title?: ReactNode; fields?: Array>; children?: ReactNode; context?: TContext; className?: string; classNames?: DataExplorerDetailSectionClassNames; fieldClassNames?: DataExplorerDetailFieldClassNames; } interface DataExplorerDetailFieldProps { field?: DataExplorerDetailFieldDefinition; label?: ReactNode; icon?: ReactNode; value?: ReactNode; helperText?: ReactNode; error?: ReactNode; required?: boolean; disabled?: boolean; children?: ReactNode; context?: TContext; className?: string; valueClassName?: string; classNames?: DataExplorerDetailFieldClassNames; dataAttributes?: DataExplorerHtmlAttributes; labelDataAttributes?: DataExplorerHtmlAttributes; valueDataAttributes?: DataExplorerHtmlAttributes; helperDataAttributes?: DataExplorerHtmlAttributes; errorDataAttributes?: DataExplorerHtmlAttributes; } interface DataExplorerDisplayActionContext { itemId?: string; item?: DataExplorerDisplayItem; source?: TSource; } interface DataExplorerDisplayAction { id: string; label: ReactNode; icon?: ReactNode; title?: string; tone?: "danger" | "default" | "muted" | "primary"; separatorBefore?: boolean; separatorAfter?: boolean; className?: string; visible?: DataExplorerResolver>; disabled?: DataExplorerResolver>; loading?: DataExplorerResolver>; render?: (context: DataExplorerDisplayActionContext) => ReactNode; onAction?: (context: DataExplorerDisplayActionContext) => Promise | void; onContextAction?: (context: DataExplorerDisplayActionContext) => Promise | void; } interface DataExplorerDisplayItem { id: string; title?: ReactNode; description?: ReactNode; media?: Array> | DataExplorerDisplayMediaItem; thumbnail?: string; badges?: DataExplorerDisplayBadge[]; keywords?: ReactNode[]; metadata?: DataExplorerDisplayMetadata[]; status?: ReactNode; selected?: boolean; disabled?: boolean; actions?: DataExplorerDisplayAction[]; ariaLabel?: string; source?: TSource; } type DataExplorerViewId = string; type DataExplorerViewCollectionLayout = "grid" | "list" | "waterfall" | (string & {}); interface DataExplorerViewCollectionClassNames { root?: string; items?: string; item?: string; empty?: string; loading?: string; footer?: string; overlay?: string; } interface DataExplorerMeasuredGridOptions { enabled?: boolean; rowHeight?: number; gap?: number; minColumnWidth?: number | string; estimateItemHeight?: ((props: DataExplorerViewItemProps) => number) | number; } interface DataExplorerViewCollectionOptions { layout?: DataExplorerViewCollectionLayout; loading?: boolean; loadingNode?: ReactNode; footer?: ReactNode; overlay?: ReactNode; className?: string; classNames?: DataExplorerViewCollectionClassNames; scrollable?: boolean; wrapItems?: boolean; measuredGrid?: boolean | DataExplorerMeasuredGridOptions; itemsStyle?: CSSProperties; itemStyle?: ((props: DataExplorerViewItemProps) => CSSProperties | undefined) | CSSProperties; } interface DataExplorerViewOption { id: TViewId; label?: ReactNode; description?: ReactNode; icon?: ReactNode; disabled?: boolean; hidden?: boolean; } interface DataExplorerViewItemProps { item: TItem; index?: number; itemId?: string; context?: TContext; capabilities?: DataExplorerCapabilities; itemDefinition?: DataExplorerViewItemDefinition; className?: string; selected?: boolean; actions?: DataExplorerAction[]; onOpen?: (item: TItem) => void; onSelectionChange?: (item: TItem, selected: boolean) => void; } interface DataExplorerViewItemDefinition { render?: (props: DataExplorerViewItemProps) => ReactNode; shellProps?: ((props: DataExplorerViewItemProps) => Partial) | Partial; } interface DataExplorerViewRenderProps { items: TItem[]; activeViewId: TViewId; context?: TContext; capabilities?: DataExplorerCapabilities; className?: string; empty?: ReactNode; loading?: boolean; loadingNode?: ReactNode; footer?: ReactNode; overlay?: ReactNode; layout?: DataExplorerViewCollectionLayout; collection?: DataExplorerViewCollectionOptions; selectedIds?: string[]; getItemId?: (item: TItem, index: number) => string; itemDefinition?: DataExplorerViewItemDefinition; renderItem?: (props: DataExplorerViewItemProps) => ReactNode; onOpenItem?: (item: TItem) => void; onSelectionChange?: (ids: string[]) => void; } interface DataExplorerViewDefinition extends DataExplorerViewOption { layout?: DataExplorerViewCollectionLayout; collection?: DataExplorerViewCollectionOptions; itemDefinition?: DataExplorerViewItemDefinition; getItemClassName?: (props: DataExplorerViewItemProps) => string | undefined; empty?: ((props: DataExplorerViewRenderProps) => ReactNode) | ReactNode; render?: (props: DataExplorerViewRenderProps) => ReactNode; renderItem?: (props: DataExplorerViewItemProps) => ReactNode; } interface DataExplorerViewClassNames extends DataExplorerViewCollectionClassNames { } interface DataExplorerViewProps { items: TItem[]; views?: Array>; activeViewId?: TViewId; fallbackViewId?: TViewId; context?: TContext; capabilities?: DataExplorerCapabilities; className?: string; classNames?: DataExplorerViewClassNames; empty?: ReactNode; loading?: boolean; loadingNode?: ReactNode; footer?: ReactNode; overlay?: ReactNode; layout?: DataExplorerViewCollectionLayout; collection?: DataExplorerViewCollectionOptions; selectedIds?: string[]; getItemId?: (item: TItem, index: number) => string; itemDefinition?: DataExplorerViewItemDefinition; renderItem?: (props: DataExplorerViewItemProps) => ReactNode; onOpenItem?: (item: TItem) => void; onSelectionChange?: (ids: string[]) => void; } interface DataExplorerViewCollectionProps extends DataExplorerViewCollectionOptions { items: TItem[]; activeViewId: TViewId; context?: TContext; capabilities?: DataExplorerCapabilities; empty?: ReactNode; selectedIds?: string[]; getItemId?: (item: TItem, index: number) => string; itemDefinition?: DataExplorerViewItemDefinition; renderItem?: (props: DataExplorerViewItemProps) => ReactNode; getItemClassName?: (props: DataExplorerViewItemProps) => string | undefined; onOpenItem?: (item: TItem) => void; onSelectionChange?: (ids: string[]) => void; } interface DataExplorerTreeProps { nodes?: TNode[]; context?: TContext; capabilities?: DataExplorerCapabilities; className?: string; classNames?: DataExplorerTreeClassNames; empty?: ReactNode; selectedNodeId?: string; getNodeId?: (node: TNode, index: number) => string; getChildren?: (node: TNode, index: number, depth: number) => TNode[] | undefined; renderNode?: (props: DataExplorerTreeRenderProps) => ReactNode; onSelect?: (node: TNode) => void; } interface DataExplorerTreeClassNames { root?: string; empty?: string; } interface DataExplorerTreeRenderProps { node: TNode; index: number; depth: number; context?: TContext; capabilities?: DataExplorerCapabilities; childNodes: TNode[]; hasChildren: boolean; selected: boolean; onSelect?: (node: TNode) => void; renderChildren: () => ReactNode; } type DataExplorerViewTreeEntryType = "group" | "node"; interface DataExplorerViewTreeNode { id: string; label: ReactNode; description?: ReactNode; icon?: ReactNode; meta?: ReactNode; badge?: ReactNode; ariaLabel?: string; disabled?: boolean; selectable?: boolean; collapsible?: boolean; defaultExpanded?: boolean; indentLevel?: number; reorderable?: boolean; source?: TSource; actions?: Array>; children?: Array>; className?: string; } interface DataExplorerViewTreeGroup { id: string; label?: ReactNode; description?: ReactNode; icon?: ReactNode; meta?: ReactNode; badge?: ReactNode; hideHeader?: boolean; selectable?: boolean; collapsible?: boolean; defaultExpanded?: boolean; status?: "error" | "idle" | "loading"; loading?: boolean; error?: ReactNode; empty?: ReactNode; source?: TSource; actions?: Array>; nodes?: Array>; className?: string; } interface DataExplorerViewTreeActionContext { type: DataExplorerViewTreeEntryType; action: DataExplorerViewTreeAction; node?: DataExplorerViewTreeNode; group?: DataExplorerViewTreeGroup; context?: TContext; } interface DataExplorerViewTreeAction { id: string; label: ReactNode; icon?: ReactNode; title?: string; tone?: DataExplorerControlTone; separatorBefore?: boolean; separatorAfter?: boolean; visible?: DataExplorerResolver>; disabled?: DataExplorerResolver>; loading?: DataExplorerResolver>; active?: DataExplorerResolver>; render?: (payload: DataExplorerViewTreeActionContext) => ReactNode; onAction?: (payload: DataExplorerViewTreeActionContext) => Promise | void; } interface DataExplorerViewTreeReorderPayload { activeNode: DataExplorerViewTreeNode; overNode: DataExplorerViewTreeNode; activeGroup?: DataExplorerViewTreeGroup; overGroup?: DataExplorerViewTreeGroup; activeParentId?: string; overParentId?: string; oldIndex: number; newIndex: number; sameParent: boolean; context?: TContext; } interface DataExplorerViewTreeClassNames { root?: string; group?: string; groupHeader?: string; groupHeaderButton?: string; groupLabel?: string; groupContent?: string; groupActions?: string; list?: string; item?: string; itemButton?: string; itemSelected?: string; itemIcon?: string; itemLabel?: string; itemActions?: string; expander?: string; node?: string; nodeButton?: string; nodeSelected?: string; nodeDisabled?: string; nodeDragging?: string; nodeToggle?: string; nodeIcon?: string; nodeLabel?: string; nodeDescription?: string; nodeMeta?: string; nodeBadge?: string; nodeActions?: string; nodeChildren?: string; nodeDragHandle?: string; empty?: string; error?: string; loading?: string; menuContent?: string; menuItem?: string; } interface DataExplorerViewTreeLabels { actions?: string; expand?: string; collapse?: string; loading?: ReactNode; empty?: ReactNode; error?: ReactNode; } interface DataExplorerViewTreeProps { groups?: Array>; nodes?: Array>; context?: TContext; selectedNodeId?: string; selectedGroupId?: string; expandedNodeIds?: string[]; defaultExpandedNodeIds?: string[]; expandedGroupIds?: string[]; defaultExpandedGroupIds?: string[]; resetExpansionKey?: number | string; nodeActions?: Array>; groupActions?: Array>; indentSize?: number; indentOffset?: number; actionIcon?: ReactNode; empty?: ReactNode; loading?: boolean; loadingNode?: ReactNode; error?: ReactNode; labels?: DataExplorerViewTreeLabels; reorderMode?: "any" | "none" | "same-parent"; appearance?: DataExplorerAppearance; className?: string; classNames?: DataExplorerViewTreeClassNames; onSelectNode?: (node: DataExplorerViewTreeNode, context: TContext | undefined) => void; onSelectGroup?: (group: DataExplorerViewTreeGroup, context: TContext | undefined) => void; onExpandedNodeIdsChange?: (ids: string[]) => void; onExpandedGroupIdsChange?: (ids: string[]) => void; onAction?: (payload: DataExplorerViewTreeActionContext) => Promise | void; onReorderNodes?: (payload: DataExplorerViewTreeReorderPayload) => Promise | void; } interface DataExplorerDraggableTreeNode { id: string; label: ReactNode; description?: ReactNode; icon?: ReactNode; meta?: ReactNode; badge?: ReactNode; ariaLabel?: string; disabled?: boolean; selectable?: boolean; collapsible?: boolean; draggable?: boolean; defaultExpanded?: boolean; source?: TSource; context?: TContext; children?: Array>; className?: string; itemClassName?: string; childrenClassName?: string; } interface DataExplorerDraggableTreeFlattenedNode { node: DataExplorerDraggableTreeNode; parentId?: string; index: number; depth: number; } interface DataExplorerDraggableTreeDragPayload { activeNode: DataExplorerDraggableTreeNode; overNode: DataExplorerDraggableTreeNode; activeParentId?: string; overParentId?: string; targetParentId?: string; activeIndex: number; overIndex: number; targetIndex: number; targetDepth: number; sameParent: boolean; targetSameParent: boolean; context?: TContext; } interface DataExplorerDraggableTreeRenderContext { node: DataExplorerDraggableTreeNode; depth: number; expanded: boolean; selected: boolean; dragging: boolean; disabled: boolean; context?: TContext; } interface DataExplorerDraggableTreeClassNames { root?: string; list?: string; item?: string; itemButton?: string; itemSelected?: string; itemDisabled?: string; itemDragging?: string; itemOver?: string; itemContent?: string; dragHandle?: string; toggle?: string; icon?: string; label?: string; description?: string; meta?: string; badge?: string; actions?: string; children?: string; connector?: string; overlay?: string; empty?: string; loading?: string; } interface DataExplorerDraggableTreeLabels { expand?: string; collapse?: string; loading?: ReactNode; empty?: ReactNode; dragHandle?: string; } interface DataExplorerDraggableTreeProps { nodes: Array>; context?: TContext; selectedNodeId?: string; expandedNodeIds?: string[]; defaultExpandedNodeIds?: string[]; resetExpansionKey?: number | string; indentSize?: number; activationMode?: "handle" | "row"; loading?: boolean; empty?: ReactNode; labels?: DataExplorerDraggableTreeLabels; appearance?: DataExplorerAppearance; itemRadius?: number | string; className?: string; classNames?: DataExplorerDraggableTreeClassNames; renderNodeActions?: (payload: DataExplorerDraggableTreeRenderContext) => ReactNode; renderNodeChildren?: (payload: DataExplorerDraggableTreeRenderContext) => ReactNode; onSelectNode?: (node: DataExplorerDraggableTreeNode, context: TContext | undefined) => void; onExpandedNodeIdsChange?: (ids: string[]) => void; onDragEnd?: (payload: DataExplorerDraggableTreeDragPayload) => Promise | void; } interface DataExplorerPageClassNames { root?: string; sidebar?: string; tree?: string; main?: string; toolbar?: string; controls?: string; notices?: string; content?: string; view?: string; detail?: string; } interface DataExplorerPageProps { sidebar?: ReactNode; tree?: ReactNode; toolbar?: ReactNode; controls?: ReactNode; notices?: ReactNode; content: ReactNode; view?: ReactNode; detail?: ReactNode; appearance?: DataExplorerAppearance; className?: string; classNames?: DataExplorerPageClassNames; } interface DataExplorerActionBarClassNames { root?: string; leading?: string; actions?: string; trailing?: string; action?: string; } interface DataExplorerActionBarProps { context?: TContext; actions?: DataExplorerToolbarAction[]; leading?: ReactNode; trailing?: ReactNode; children?: ReactNode; empty?: ReactNode; appearance?: DataExplorerAppearance; className?: string; classNames?: DataExplorerActionBarClassNames; } interface DataExplorerFilterBarClassNames { root?: string; layout?: string; label?: string; fieldsViewport?: string; fields?: string; actions?: string; } interface DataExplorerFilterBarProps extends Omit, "children" | "className"> { label?: ReactNode; leading?: ReactNode; children?: ReactNode; actions?: ReactNode; maxFieldsHeight?: number | string; className?: string; classNames?: DataExplorerFilterBarClassNames; } interface DataExplorerTreeShellClassNames { root?: string; header?: string; title?: string; subtitle?: string; toolbar?: string; body?: string; footer?: string; } interface DataExplorerTreeShellProps { title?: ReactNode; subtitle?: ReactNode; toolbar?: ReactNode; footer?: ReactNode; children?: ReactNode; appearance?: DataExplorerAppearance; className?: string; classNames?: DataExplorerTreeShellClassNames; } interface DataExplorerViewShellClassNames { root?: string; header?: string; body?: string; footer?: string; empty?: string; overlay?: string; } interface DataExplorerViewShellProps { header?: ReactNode; footer?: ReactNode; overlay?: ReactNode; empty?: ReactNode; isEmpty?: boolean; children?: ReactNode; className?: string; classNames?: DataExplorerViewShellClassNames; } interface DataExplorerViewItemShellClassNames { root?: string; media?: string; header?: string; title?: string; description?: string; meta?: string; badges?: string; body?: string; footer?: string; actions?: string; } interface DataExplorerViewItemShellProps { media?: ReactNode; title?: ReactNode; description?: ReactNode; meta?: ReactNode; badges?: ReactNode; actions?: ReactNode; footer?: ReactNode; children?: ReactNode; className?: string; classNames?: DataExplorerViewItemShellClassNames; } interface DataExplorerDisplayMediaClassNames { root?: string; media?: string; placeholder?: string; title?: string; } interface DataExplorerDisplayMediaProps { media?: Array> | DataExplorerDisplayMediaItem; fallbackTitle?: ReactNode; empty?: ReactNode; className?: string; classNames?: DataExplorerDisplayMediaClassNames; onOpen?: (media: DataExplorerDisplayMediaItem, index: number) => void; } interface DataExplorerDisplayCardClassNames { root?: string; overlay?: string; header?: string; headerMain?: string; headerLeading?: string; headerContent?: string; title?: string; description?: string; badges?: string; meta?: string; actions?: string; media?: string; body?: string; footer?: string; } interface DataExplorerDisplayCardProps { item?: DataExplorerDisplayItem; title?: ReactNode; description?: ReactNode; badges?: ReactNode; meta?: ReactNode; actions?: ReactNode; media?: Array> | DataExplorerDisplayMediaItem | ReactNode; header?: ReactNode; headerLeading?: ReactNode; headerContent?: ReactNode; overlay?: ReactNode; footer?: ReactNode; children?: ReactNode; selected?: boolean; disabled?: boolean; interactive?: boolean; role?: string; tabIndex?: number; appearance?: DataExplorerAppearance; className?: string; classNames?: DataExplorerDisplayCardClassNames; onClick?: MouseEventHandler; onKeyDown?: KeyboardEventHandler; } interface DataExplorerDisplayActionMenuClassNames { root?: string; trigger?: string; content?: string; label?: string; separator?: string; item?: string; itemIcon?: string; itemLabel?: string; } interface DataExplorerDisplayActionMenuProps { item?: DataExplorerDisplayItem; itemId?: string; source?: TSource; actions?: Array>; label?: ReactNode; triggerLabel?: string; triggerIcon?: ReactNode; align?: "center" | "end" | "start"; sideOffset?: number; appearance?: DataExplorerAppearance; className?: string; classNames?: DataExplorerDisplayActionMenuClassNames; } interface DataExplorerDisplayListItemClassNames extends DataExplorerDisplayCardClassNames { } interface DataExplorerDisplayListItemProps extends DataExplorerDisplayCardProps { } interface DataExplorerRecordCardClassNames { root?: string; overlay?: string; overlayControls?: string; selectionControl?: string; favoriteControl?: string; floatingActions?: string; header?: string; headerMain?: string; title?: string; keywords?: string; keyword?: string; keywordOverflow?: string; media?: string; mediaFrame?: string; footer?: string; } interface DataExplorerRecordCardProps { item: DataExplorerDisplayItem; selected?: boolean; active?: boolean; disabled?: boolean; hasMedia?: boolean; showHeaderWithMedia?: boolean; selectionVisible?: boolean; favoriteVisible?: boolean; overlayControlsAlwaysVisible?: boolean; favoriteActive?: boolean; favoriteLabel?: string; favoriteActiveLabel?: string; selectLabel?: string; unselectLabel?: string; actions?: ReactNode; media?: ReactNode; footer?: ReactNode; checkbox?: ReactNode; favorite?: ReactNode; keywordLimit?: number; appearance?: DataExplorerAppearance; className?: string; classNames?: DataExplorerRecordCardClassNames; onClick?: MouseEventHandler; onToggleSelection?: (item: DataExplorerDisplayItem) => void; onToggleFavorite?: (item: DataExplorerDisplayItem) => void; } type DataExplorerMediaPreviewKind = "audio" | "file" | "image" | "video"; interface DataExplorerMediaPreviewClassNames { root?: string; media?: string; placeholder?: string; loading?: string; error?: string; } interface DataExplorerMediaPreviewProps { src?: null | string; kind?: DataExplorerMediaPreviewKind; alt?: string; title?: ReactNode; aspectRatio?: "1:1" | "16:9" | "3:4" | "4:3" | "9:16" | "auto" | "square" | "video"; fit?: "contain" | "cover"; controls?: boolean; loading?: boolean; empty?: ReactNode; error?: ReactNode; className?: string; style?: CSSProperties; classNames?: DataExplorerMediaPreviewClassNames; mediaAttributes?: Record; onLoad?: () => void; onError?: () => void; } interface DataExplorerUploadSurfaceClassNames { root?: string; button?: string; icon?: string; title?: string; description?: string; hint?: string; } interface DataExplorerUploadSurfaceProps { accept?: string; multiple?: boolean; disabled?: boolean; busy?: boolean; title?: ReactNode; description?: ReactNode; hint?: ReactNode; busyLabel?: ReactNode; icon?: ReactNode; inputProps?: Omit, "accept" | "disabled" | "multiple" | "onChange" | "type"> & { [key: `data-${string}`]: string | undefined; }; className?: string; classNames?: DataExplorerUploadSurfaceClassNames; onFilesSelected?: (files: File[]) => void; } interface DataExplorerRecordPickerOption { value: string; label: ReactNode; description?: ReactNode; textValue?: string; disabled?: boolean; } interface DataExplorerRecordPickerClassNames { root?: string; trigger?: string; triggerValue?: string; content?: string; search?: string; list?: string; option?: string; optionIndicator?: string; optionLabel?: string; optionDescription?: string; selectedList?: string; selectedItem?: string; selectedItemLabel?: string; selectedItemRemove?: string; status?: string; } interface DataExplorerRecordPickerProps { value?: string | string[]; activeValue?: string; options?: DataExplorerRecordPickerOption[]; createOption?: DataExplorerRecordPickerOption; multiple?: boolean; placeholder?: ReactNode; triggerLabel?: string; triggerIcon?: ReactNode; searchPlaceholder?: string; emptyState?: ReactNode; loadingState?: ReactNode; loadingMoreState?: ReactNode; errorState?: ReactNode; loading?: boolean; loadingMore?: boolean; disabled?: boolean; open?: boolean; defaultOpen?: boolean; searchValue?: string; defaultSearchValue?: string; appearance?: DataExplorerAppearance; className?: string; classNames?: DataExplorerRecordPickerClassNames; triggerProps?: Omit, "children" | "className" | "disabled" | "type">; dataAttributes?: { root?: Record; trigger?: Record; triggerValue?: Record; content?: Record; list?: Record; option?: Record; loading?: Record; loadingMore?: Record; error?: Record; empty?: Record; }; onOpenChange?: (open: boolean) => void; onListScroll?: (event: UIEvent) => void; onSearchValueChange?: (value: string) => void; onValueChange?: (value: string | string[]) => void; } interface DataExplorerCollectionFooterClassNames { root?: string; summary?: string; jumpButton?: string; pageSizeControl?: string; pageSizeButton?: string; } interface DataExplorerCollectionFooterProps { selectedCount?: number; loadedStart?: number; loadedEnd: number; total: number; currentPage?: number; pageSize?: number; pageSizeOptions?: number[]; loading?: boolean; selectedLabel?: ReactNode; loadedLabel?: ReactNode; pageSizeLabel?: ReactNode; pageText?: ReactNode; tone?: "default" | "glass" | "hard-edge"; appearance?: DataExplorerAppearance; className?: string; classNames?: DataExplorerCollectionFooterClassNames; onJump?: () => void; onJumpToPage?: (page: number) => void; onPageSizeChange?: (size: number) => void; } interface DataExplorerToolbarShellClassNames { root?: string; leading?: string; search?: string; searchIcon?: string; searchInput?: string; viewSwitch?: string; viewButton?: string; actions?: string; action?: string; menuContent?: string; menuItem?: string; } interface DataExplorerToolbarViewOption { id: string; label?: ReactNode; icon?: ReactNode; disabled?: boolean; } interface DataExplorerToolbarActionsClassNames { root?: string; action?: string; menuContent?: string; menuItem?: string; } type DataExplorerToolbarActionsLayout = "action-bar" | "inline" | "toolbar"; interface DataExplorerToolbarActionsProps { context?: TContext; actions?: Array>; layout?: DataExplorerToolbarActionsLayout; appearance?: DataExplorerAppearance; empty?: ReactNode; children?: ReactNode; className?: string; classNames?: DataExplorerToolbarActionsClassNames; } interface DataExplorerToolbarShellProps { rootRef?: React.Ref; dataAttributes?: DataExplorerDataAttributes; context?: TContext; leading?: ReactNode; leadingActions?: Array>; searchVisible?: boolean; searchValue?: string; searchPlaceholder?: string; searchIcon?: ReactNode; viewOptions?: DataExplorerToolbarViewOption[]; activeViewId?: string; actions?: ReactNode; toolbarActions?: Array>; appearance?: DataExplorerAppearance; children?: ReactNode; className?: string; classNames?: DataExplorerToolbarShellClassNames; onSearchChange?: (value: string) => void; onSearchSubmit?: (value: string) => void; onViewChange?: (viewId: string) => void; } interface DataExplorerDisplayCollectionViewProps { items: Array>; activeViewId?: DataExplorerViewId; layout?: DataExplorerViewCollectionLayout; appearance?: DataExplorerAppearance; selectedIds?: string[]; empty?: ReactNode; loading?: boolean; loadingNode?: ReactNode; footer?: ReactNode; overlay?: ReactNode; className?: string; classNames?: DataExplorerViewCollectionClassNames; scrollable?: boolean; wrapItems?: boolean; measuredGrid?: boolean | DataExplorerMeasuredGridOptions, undefined>; itemsStyle?: CSSProperties; itemStyle?: ((context: DataExplorerDisplayCollectionItemContext) => CSSProperties | undefined) | CSSProperties; getItemClassName?: (context: DataExplorerDisplayCollectionItemContext) => string | undefined; cardProps?: DataExplorerDisplayCollectionItemPropsResolver, TSource>; listItemProps?: DataExplorerDisplayCollectionItemPropsResolver, TSource>; renderMedia?: (context: DataExplorerDisplayCollectionItemContext) => ReactNode; renderActions?: (context: DataExplorerDisplayCollectionItemContext) => ReactNode; renderItem?: (item: DataExplorerDisplayItem, index: number, context: DataExplorerDisplayCollectionItemContext) => ReactNode; onOpenItem?: (item: DataExplorerDisplayItem) => void; onSelectionChange?: (ids: string[]) => void; } interface DataExplorerDisplayCollectionItemContext { item: DataExplorerDisplayItem; index: number; itemId: string; selected: boolean; activeViewId?: DataExplorerViewId; layout: DataExplorerViewCollectionLayout; } type DataExplorerDisplayCollectionItemPropsResolver = ((context: DataExplorerDisplayCollectionItemContext) => Partial | undefined) | Partial; export type { DataExplorerMediaPreviewProps as $, DataExplorerDisplayActionContext as A, DataExplorerDisplayActionMenuClassNames as B, DataExplorerDisplayActionMenuProps as C, DataExplorerAction as D, DataExplorerDisplayBadge as E, DataExplorerDisplayCardClassNames as F, DataExplorerDisplayCardProps as G, DataExplorerDisplayCollectionItemContext as H, DataExplorerDisplayCollectionItemPropsResolver as I, DataExplorerDisplayCollectionViewProps as J, DataExplorerDisplayItem as K, DataExplorerDisplayListItemClassNames as L, DataExplorerDisplayListItemProps as M, DataExplorerDisplayMediaClassNames as N, DataExplorerDisplayMediaItem as O, DataExplorerDisplayMediaKind as P, DataExplorerDisplayMediaProps as Q, DataExplorerDisplayMetadata as R, DataExplorerFilterBarClassNames as S, DataExplorerFilterBarProps as T, DataExplorerHtmlAttributes as U, DataExplorerImagePreviewClassNames as V, DataExplorerImagePreviewNaturalSize as W, DataExplorerImagePreviewProps as X, DataExplorerMeasuredGridOptions as Y, DataExplorerMediaPreviewClassNames as Z, DataExplorerMediaPreviewKind as _, DataExplorerActionBarClassNames as a, DataExplorerDraggableTreeNode as a$, DataExplorerPageClassNames as a0, DataExplorerPageProps as a1, DataExplorerRadius as a2, DataExplorerRecordCardClassNames as a3, DataExplorerRecordCardProps as a4, DataExplorerRecordPickerClassNames as a5, DataExplorerRecordPickerOption as a6, DataExplorerRecordPickerProps as a7, DataExplorerResolvedTheme as a8, DataExplorerResolver as a9, DataExplorerViewCollectionProps as aA, DataExplorerViewDefinition as aB, DataExplorerViewId as aC, DataExplorerViewItemDefinition as aD, DataExplorerViewItemProps as aE, DataExplorerViewItemShellClassNames as aF, DataExplorerViewItemShellProps as aG, DataExplorerViewOption as aH, DataExplorerViewProps as aI, DataExplorerViewRenderProps as aJ, DataExplorerViewShellClassNames as aK, DataExplorerViewShellProps as aL, DataExplorerViewTreeAction as aM, DataExplorerViewTreeActionContext as aN, DataExplorerViewTreeClassNames as aO, DataExplorerViewTreeEntryType as aP, DataExplorerViewTreeGroup as aQ, DataExplorerViewTreeLabels as aR, DataExplorerViewTreeNode as aS, DataExplorerViewTreeProps as aT, DataExplorerViewTreeReorderPayload as aU, DataExplorerSplitButtonProps as aV, DataExplorerDraggableTreeProps as aW, DataExplorerDraggableTreeClassNames as aX, DataExplorerDraggableTreeDragPayload as aY, DataExplorerDraggableTreeFlattenedNode as aZ, DataExplorerDraggableTreeLabels as a_, DataExplorerSelectClassNames as aa, DataExplorerSelectProps as ab, DataExplorerThemePresetId as ac, DataExplorerThemeSlots as ad, DataExplorerThemeStyles as ae, DataExplorerToolbarAction as af, DataExplorerToolbarActionItem as ag, DataExplorerToolbarActionKind as ah, DataExplorerToolbarActionOption as ai, DataExplorerToolbarActionsClassNames as aj, DataExplorerToolbarActionsLayout as ak, DataExplorerToolbarActionsProps as al, DataExplorerToolbarShellClassNames as am, DataExplorerToolbarShellProps as an, DataExplorerToolbarViewOption as ao, DataExplorerTreeClassNames as ap, DataExplorerTreeProps as aq, DataExplorerTreeRenderProps as ar, DataExplorerTreeShellClassNames as as, DataExplorerTreeShellProps as at, DataExplorerUploadSurfaceClassNames as au, DataExplorerUploadSurfaceProps as av, DataExplorerViewClassNames as aw, DataExplorerViewCollectionClassNames as ax, DataExplorerViewCollectionLayout as ay, DataExplorerViewCollectionOptions as az, DataExplorerActionBarProps as b, DataExplorerDraggableTreeRenderContext as b0, DataExplorerSplitButtonClassNames as b1, DataExplorerSplitButtonItem as b2, DataExplorerSurface as b3, DataExplorerAppearance as c, DataExplorerBackground as d, DataExplorerBorder as e, DataExplorerButtonClassNames as f, DataExplorerButtonProps as g, DataExplorerCapabilities as h, DataExplorerCheckboxClassNames as i, DataExplorerCheckboxProps as j, DataExplorerCollectionFooterClassNames as k, DataExplorerCollectionFooterProps as l, DataExplorerControlOption as m, DataExplorerControlTone as n, DataExplorerDataAttributes as o, DataExplorerDensity as p, DataExplorerDetailFieldClassNames as q, DataExplorerDetailFieldDefinition as r, DataExplorerDetailFieldProps as s, DataExplorerDetailNavigation as t, DataExplorerDetailSectionClassNames as u, DataExplorerDetailSectionDefinition as v, DataExplorerDetailSectionProps as w, DataExplorerDetailShellClassNames as x, DataExplorerDetailShellProps as y, DataExplorerDisplayAction as z };