import * as React from 'react';
import { AppShellContent } from './AppShellContent';
import { AppShellPanel } from './AppShellPanel';
export interface AppShellProps extends React.ComponentProps<'div'> {
    /** Any CSS background value (color, gradient, image) */
    background?: string;
    /** Fixed height, supports CSS calc() */
    height?: string;
    /** Spacing around the inner content in pixels or CSS value */
    padding?: number | string;
    /** Padding on mobile viewports. Defaults to 8px. */
    mobilePadding?: number | string;
    /** Gap between panels in pixels or CSS value. Defaults to 12. */
    gap?: number | string;
    /** Joined-edge mode where panels share borders. Defaults to false. */
    connected?: boolean;
    /** ID of the main content element for skip navigation. */
    skipToId?: string;
    /** Controlled active panel index for mobile tab switching. */
    activePanel?: number;
    /** Callback when active panel changes on mobile. */
    onActivePanelChange?: (index: number) => void;
    /** Default active panel on mobile (default: 0). */
    defaultActivePanel?: number;
}
declare function AppShellRoot({ background, height, padding, mobilePadding, gap, connected, skipToId, activePanel: activePanelProp, onActivePanelChange, defaultActivePanel, className, children, ...props }: AppShellProps): import("react/jsx-runtime").JSX.Element;
declare namespace AppShellRoot {
    var displayName: string;
}
export interface AppShellSidebarProps extends React.ComponentProps<'div'> {
    /**
     * Explicit width override — bypasses auto-detection.
     * When omitted, the sidebar auto-sizes based on the child
     * SidebarProvider's expanded/collapsed state.
     */
    width?: string;
    /** Width when sidebar is expanded (auto mode only). @default '280px' */
    expandedWidth?: string;
    /** Width when sidebar is collapsed (auto mode only). @default '64px' */
    collapsedWidth?: string;
}
/**
 * Layout slot for the sidebar region. Renders a div — the actual aside
 * landmark is provided by AppSidebar/Sidebar primitive inside it.
 *
 * **Auto-detection (default):** When no `width` prop is provided, the sidebar
 * observes the child SidebarProvider's `data-state` attribute via CSS `:has()`
 * and transitions between `collapsedWidth` and `expandedWidth` automatically.
 *
 * **Manual mode:** Pass an explicit `width` to control sizing yourself.
 */
declare function AppShellSidebar({ width, expandedWidth, collapsedWidth, className, style, children, ...props }: AppShellSidebarProps): import("react/jsx-runtime").JSX.Element;
declare namespace AppShellSidebar {
    var displayName: string;
}
export interface AppShellHeaderProps extends React.ComponentProps<'div'> {
}
declare function AppShellHeader({ className, children, ...props }: AppShellHeaderProps): import("react/jsx-runtime").JSX.Element;
declare namespace AppShellHeader {
    var displayName: string;
}
declare const appShellBackgrounds: {
    readonly transparent: "transparent";
    readonly appBg: "var(--app-bg)";
    readonly neutral: "var(--muted)";
    readonly brandSubtle: "linear-gradient(135deg, var(--brand-50) 0%, var(--brand-100) 100%)";
    readonly brand: "linear-gradient(135deg, var(--brand-400) 0%, var(--brand-600) 100%)";
    readonly brandDeep: "linear-gradient(135deg, var(--brand-700) 0%, var(--brand-900) 100%)";
    readonly desertMidnight: "linear-gradient(135deg, var(--desert-midnight-500) 0%, var(--desert-midnight-700) 100%)";
    readonly aqua: "linear-gradient(135deg, var(--aqua-flat-400) 0%, var(--aqua-flat-600) 100%)";
};
declare const AppShell: typeof AppShellRoot & {
    Root: typeof AppShellRoot;
    Sidebar: typeof AppShellSidebar;
    Header: typeof AppShellHeader;
    Panel: typeof AppShellPanel;
    Content: typeof AppShellContent;
};
export type { AppShellContentProps } from './AppShellContent';
export type { AppShellPanelProps } from './AppShellPanel';
export { AppShell, AppShellContent, AppShellHeader, AppShellPanel, AppShellRoot, AppShellSidebar, appShellBackgrounds, };
