import { HTMLAttributes, ReactNode } from 'react';
export type InlineViewSwitcherVariant = "default" | "flat" | "round" | "pill";
interface InlineViewSwitcherContextValue {
    value: string;
    onValueChange: (value: string) => void;
}
export declare function useInlineViewSwitcher(): InlineViewSwitcherContextValue;
export interface InlineViewSwitcherProps extends HTMLAttributes<HTMLDivElement> {
    /** Currently active view name. */
    value: string;
    /** Called with the new value when a view is selected. */
    onValueChange: (value: string) => void;
    /**
     * Visual style of the switcher.
     * - `default` — card background with border and shadow (same as `ToggleGroup`).
     * - `flat`    — no background or border; active indicator only.
     * - `round`   — pill-shaped container and items.
     * - `pill`    — segmented-control style; active item appears lifted, no accent color.
     */
    variant?: InlineViewSwitcherVariant;
    /** Accessible label for the group. */
    "aria-label"?: string;
    children?: ReactNode;
}
/**
 * Compact inline view switcher for placing inside content areas, cards, or
 * toolbars — wherever `ViewSwitcher` (header-bar sized) would be too heavy.
 *
 * Built on `ToggleGroup` internals with `flat` and `round` style variants.
 * Mirrors `AdwInlineViewSwitcher` (libadwaita 1.7 / GNOME 48).
 *
 * Compose with `InlineViewSwitcherItem`. Keyboard: ← / → cycle, Home / End jump.
 *
 * @see https://gnome.pages.gitlab.gnome.org/libadwaita/doc/main/class.InlineViewSwitcher.html
 */
export declare function InlineViewSwitcher({ value, onValueChange, variant, "aria-label": ariaLabel, children, className, ...props }: InlineViewSwitcherProps): import("react/jsx-runtime").JSX.Element;
export {};
