import { type ReactNode } from "react";
interface IResizableSidebar {
    width: number;
    min: number;
    max: number;
    canResize: boolean;
    setWidth: (width: number) => void;
}
/**
 * Computes the resizable-sidebar state. When the sidebar is not resizable (not edit mode, the feature
 * is off, or it is replaced by the enhanced insight picker) it returns the static
 * {@link NON_RESIZABLE_SIDEBAR} — no window resize listener, no width math.
 *
 * Reads the config store, so it must be called below the dashboard loading gate where the config is
 * initialized.
 *
 * @internal
 */
export declare function useResizableSidebarState(): IResizableSidebar;
/**
 * Shares the resize state produced by {@link useResizableSidebarState} with descendants such as the
 * resize handle, so it stays a single source of truth.
 *
 * @internal
 */
export declare function ResizableSidebarProvider({ value, children }: {
    value: IResizableSidebar;
    children: ReactNode;
}): import("react/jsx-runtime").JSX.Element;
/**
 * Returns the sidebar resize state, or {@link NON_RESIZABLE_SIDEBAR} when the sidebar is not resizable.
 *
 * @internal
 */
export declare function useResizableSidebar(): IResizableSidebar;
export {};
//# sourceMappingURL=SidebarResizeContext.d.ts.map