import { type HTMLAttributes } from 'react'; import type { PanelName } from './page-types.js'; import type { PanelSize } from './panel-types.js'; import { StylingProps } from '../../core/types/styling-props.js'; import { WithChildren } from '../../core/types/with-children.js'; interface PanelRootProps extends WithChildren, StylingProps, HTMLAttributes { name: PanelName; } interface PanelContentProps extends WithChildren, StylingProps { isDismissed?: boolean; /** @defaultValue `right` */ handle?: 'left' | 'right' | 'hidden'; /** Descriptive label for the panel. */ label: string; /** * The minimum width of the sidebar in pixels. * @defaultValue 200 */ minWidth?: number; /** * The desired width of the sidebar. * Depending on the available screen width and other panel configurations, * the size of the panel might not match the `preferredWidth` exactly. * @defaultValue 15% */ preferredWidth?: PanelSize; /** Callback triggered after resizing is finished. */ onResize?: (width: number) => void; /** Available size of the containing element. Used to calculate size with relative units. */ containerSize: number; } export declare const Panel: ((props: PanelRootProps) => import("react/jsx-runtime").JSX.Element) & { Content: (props: PanelContentProps & import("react").RefAttributes) => import("react").ReactElement | null; }; export {};