import { type ComponentPropsWithoutRef, type ReactNode } from 'react';
export declare const SECTION_INSPECTOR_WIDTH_KEY = "actuate:section-inspector-width";
export declare const SECTION_INSPECTOR_DEFAULT_WIDTH = 320;
export declare const SECTION_INSPECTOR_MIN_WIDTH = 280;
export declare const SECTION_INSPECTOR_MAX_WIDTH = 640;
export declare const SECTION_INSPECTOR_MIN_CANVAS_WIDTH = 96;
/** Below this editor-row width the expand action uses an overlay panel. */
export declare const SECTION_INSPECTOR_OVERLAY_BREAKPOINT = 768;
export declare const SECTION_INSPECTOR_OVERLAY_MAX_WIDTH = 480;
/** Max inline width given the surrounding editor row. */
export declare function computeInspectorMaxWidth(containerWidth: number): number;
/** Width when expanded as an overlay on tablet/mobile. */
export declare function computeInspectorOverlayWidth(containerWidth: number): number;
export declare function readSectionInspectorWidth(): number;
interface InspectorResizeContextValue {
    width: number;
    maxWidth: number;
    isExpanded: boolean;
    canExpand: boolean;
    toggleExpanded: () => void;
}
export declare function useInspectorResize(): InspectorResizeContextValue | null;
interface ResizableAsideProps extends ComponentPropsWithoutRef<'aside'> {
    children: ReactNode;
}
/**
 * Right-hand editor shell with a draggable left edge. Used by the page/post
 * section inspector and post header panel (default 320px, persisted in
 * localStorage). On tablet/mobile the handle uses a 44px touch target and
 * the header expand button can grow the panel to an overlay width.
 */
export declare function ResizableAside({ children, className, style, ...props }: ResizableAsideProps): import("react/jsx-runtime").JSX.Element;
/** One-tap expand/collapse for tablet and mobile inspector panels. */
export declare function InspectorExpandButton({ className }: {
    className?: string;
}): import("react/jsx-runtime").JSX.Element | null;
export {};
//# sourceMappingURL=ResizableAside.d.ts.map