import type { HTMLAttributes, ReactNode } from "react";
export interface TopBarBreadcrumb {
    label: string;
    href?: string;
}
export interface TopBarBrand {
    /** Brand wordmark text (e.g. "OctaviaFlow"). Rendered as a link if `href`. */
    name: ReactNode;
    /** Optional mark/logo shown before the name. */
    logo?: ReactNode;
    /** If provided, the brand block becomes an anchor (e.g. "/" home). */
    href?: string;
}
export interface TopBarProps extends Omit<HTMLAttributes<HTMLElement>, "title"> {
    /**
     * Brand block — wordmark + optional logo. Anchors the TopBar in the
     * Vercel/Stripe layout where the brand lives in the top chrome and the
     * sidebar is workspace-agnostic. If both `brand` and `title` are set,
     * `brand` takes the lead slot and `title` is ignored.
     */
    brand?: TopBarBrand;
    /**
     * Workspace switcher slot — the trigger element (typically a DropdownMenu
     * trigger or custom dropdown). Renders directly after the brand, separated
     * by a hairline divider. Opaque on purpose so callers control the menu.
     */
    workspaceSwitcher?: ReactNode;
    title?: string;
    breadcrumbs?: TopBarBreadcrumb[];
    actions?: ReactNode;
    searchPlaceholder?: string;
    onSearch?: (value: string) => void;
    children?: ReactNode;
    className?: string;
}
export declare function TopBar({ brand, workspaceSwitcher, title, breadcrumbs, actions, searchPlaceholder, onSearch, children, className, ...props }: TopBarProps): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=TopBar.d.ts.map