/**
 * @jsxRuntime classic
 * @jsx jsx
 */
import { type MutableRefObject, type ReactNode } from 'react';
import type { LayoutAreaMode } from './layout-area-sizing-context';
type PanelLayoutShellProps = {
    /**
     * Main content rendered alongside the local panel.
     */
    children: ReactNode;
    /**
     * Panel content or surface supplied by the caller.
     */
    panel: ReactNode;
    /**
     * Whether the local panel is open.
     */
    isPanelOpen: boolean;
    /**
     * Effective panel track width in pixels.
     */
    panelWidth: number;
    compactPanelWidth: number;
    /**
     * Minimum panel width in pixels.
     */
    panelMinWidth?: number;
    /**
     * Allocated placement. Before measurement, CSS reserves a track when both minimums fit the host.
     */
    mode?: LayoutAreaMode;
    /**
     * Shared with the panel's resize controls so imperative resizing also updates the grid track.
     */
    layoutRef?: MutableRefObject<HTMLDivElement | null>;
    /**
     * Clips the layout during panel motion.
     */
    shouldClipOverflow?: boolean;
    testId?: string;
};
/**
 * Grid and scrolling for Main and its local panel. Use inside navigation's Root and Main.
 */
export declare function PanelLayoutShell({ children, panel, isPanelOpen, panelWidth, compactPanelWidth, panelMinWidth, mode, layoutRef, shouldClipOverflow, testId, }: PanelLayoutShellProps): JSX.Element;
export {};
