import type React from 'react'; /** Terminal widths below this hide the sidebar entirely. */ export declare const SIDEBAR_MIN_TERMINAL = 64; /** Smallest sidebar width (in columns) when visible. */ export declare const SIDEBAR_MIN_WIDTH = 20; /** Largest sidebar width (in columns). */ export declare const SIDEBAR_MAX_WIDTH = 48; /** Fraction of terminal width to allocate to the sidebar. */ export declare const SIDEBAR_FRACTION = 0.25; /** Border (2) plus horizontal padding (2) consumed by RightSidebar. */ export declare const SIDEBAR_HORIZONTAL_CHROME = 4; /** * Return the width available to children inside RightSidebar. * * Routed panel frames have their own border and padding, so they must receive * this content width rather than claiming the outer sidebar width again. */ export declare function computeSidebarContentWidth(sidebarWidth: number): number; /** * Compute the sidebar width in columns for a given terminal width. * Returns 0 when the terminal is too narrow for a sidebar. * * Pure — no React, no Ink — so callers can use the same value for layout * math (e.g. narrowing the history column) without mounting the component. */ export declare function computeSidebarWidth(termCols: number): number; export interface RightSidebarProps { /** * Optional explicit width override (in columns). When omitted, the width * is derived from the current terminal width via {@link computeSidebarWidth}. */ width?: number | undefined; /** * Maximum height in rows. Content beyond this is clipped (scroll handled * by the caller via scrollOffset). When omitted, no height cap is applied. */ maxHeight?: number | undefined; /** * When true, the sidebar border is highlighted to indicate keyboard focus. */ focused?: boolean | undefined; /** * Content to render inside the sidebar. When omitted, a dimmed placeholder * label is shown so the reserved region is visually self-documenting. */ children?: React.ReactNode | undefined; } export declare function RightSidebar({ width, maxHeight, focused, children, }: RightSidebarProps): React.ReactElement | null; //# sourceMappingURL=sidebar.d.ts.map