import { HTMLAttributes, ReactNode } from 'react';
/** Provides the collapsed state to all descendant `SidebarItem` components. */
export declare const SidebarCollapsedContext: import('react').Context<boolean>;
/** Returns `true` when the nearest `Sidebar` is in collapsed (icon-only) mode. */
export declare function useSidebarCollapsed(): boolean;
/** Provides the active filter string to all descendant `SidebarItem` components. */
export declare const SidebarFilterContext: import('react').Context<string>;
export interface SidebarProps extends HTMLAttributes<HTMLElement> {
    children?: ReactNode;
    /**
     * When `true`, collapses the sidebar to icon-only mode (rail/mini).
     * Labels, suffixes, and section titles are hidden; tooltips appear on hover.
     */
    collapsed?: boolean;
    /**
     * Renders a built-in `SearchBar` inside the sidebar and manages the filter
     * state internally (uncontrolled). Combine with `filter` + `onFilterChange`
     * for controlled mode.
     */
    searchable?: boolean;
    /**
     * Controlled filter string. Items whose `label` does not match
     * (case-insensitive substring) are hidden. Does not render a `SearchBar`
     * on its own — use `searchable` for the built-in search input.
     */
    filter?: string;
    /** Called when the built-in search value changes. */
    onFilterChange?: (value: string) => void;
    /**
     * Layout mode:
     * - `"sidebar"` — fixed-width panel with a border (default).
     * - `"page"` — full-width boxed-list layout for narrow viewports.
     *
     * When omitted the sidebar auto-switches to `"page"` at ≤ 400 sp,
     * mirroring `AdwSidebar` mobile behaviour.
     */
    mode?: "sidebar" | "page";
    /**
     * Visual style variant for the sidebar background.
     * - `"classic"` — default GNOME gray
     * - `"blue"` | `"green"` | `"red"` | `"yellow"` — tinted accent backgrounds
     * - `"black"` — dark/OLED background
     * - `"transparent"` — no background, inherits parent
     * - `"blurred"` — frosted glass (backdrop-filter blur), like macOS
     */
    variant?: "classic" | "blue" | "green" | "red" | "yellow" | "black" | "transparent" | "blurred";
}
/**
 * Lateral navigation panel following the Adwaita `.navigation-sidebar` style.
 *
 * **Tier 11 — libadwaita 1.9 completeness:**
 * - `searchable` — built-in `SearchBar` with automatic item filtering.
 * - `filter` / `onFilterChange` — controlled external filtering.
 * - `mode` — `"sidebar"` (default) or `"page"` (boxed-list layout).
 *   Auto-switches to `"page"` at ≤ 400 sp when `mode` is unset.
 *
 * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.Sidebar.html
 */
export declare function Sidebar({ children, collapsed, searchable, filter: controlledFilter, onFilterChange, mode, variant, className, ...props }: SidebarProps): import("react/jsx-runtime").JSX.Element;
