/**
 * @file TopNav.tsx
 * @input Uses React, ReactNode
 * @output Exports TopNav component and TopNavProps
 * @position Core implementation; consumed by index.ts
 *
 * SYNC: When modified, update these files to stay in sync:
 * - /packages/core/src/TopNav/TopNav.doc.mjs
 * - /packages/core/src/TopNav/TopNav.test.tsx
 * - /packages/core/src/TopNav/index.ts
 * - /apps/storybook/stories/TopNav.stories.tsx
 * - /packages/cli/assets/templates/blocks/components/TopNav/ (showcase blocks)
 */
import type { ReactNode } from 'react';
import type { BaseProps } from '../BaseProps';
export interface TopNavProps extends BaseProps<HTMLElement> {
    /** Ref forwarded to the root element */
    ref?: React.Ref<HTMLElement>;
    /**
     * Heading slot content — typically TopNavHeading with logo and text.
     * Positioned at the left edge of the nav bar.
     */
    heading?: ReactNode;
    /**
     * Start content slot - typically navigation items or breadcrumbs.
     * Positioned after the title, left-aligned.
     */
    startContent?: ReactNode;
    /**
     * Alias for startContent. Prefer startContent when composing with other slots.
     *
     * This keeps the common React children pattern from silently dropping
     * navigation items. If both children and startContent are provided,
     * startContent takes precedence and children are ignored.
     */
    children?: ReactNode;
    /**
     * Center content slot - typically tabs, search bar, or primary navigation.
     * Positioned at the horizontal center of the nav bar.
     * When provided, the layout switches to a three-column CSS grid to ensure
     * true centering regardless of start/end content widths.
     */
    centerContent?: ReactNode;
    /**
     * End content slot - typically search, icons, user profile, utility menus.
     * Positioned at the right edge of the nav bar.
     */
    endContent?: ReactNode;
    /**
     * Accessible label for the navigation landmark.
     * Helps screen readers identify the navigation area.
     * @default 'Top navigation'
     */
    label?: string;
}
/**
 * Top navigation bar for application headers.
 *
 * Slot-based layout with `heading`, `startContent`, `centerContent`, and
 * `endContent`. `children` are accepted as an alias for `startContent`
 * so navigation items do not silently disappear when using the common
 * React children pattern. When `centerContent` is provided, the layout switches
 * to a three-column CSS grid to keep center content horizontally centered.
 *
 * @example
 * ```
 * <TopNav
 *   label="Main navigation"
 *   heading={<TopNavHeading heading="My App" />}
 *   startContent={<TopNavItem label="Home" href="/" isSelected />}
 *   endContent={<Button label="Search" variant="ghost" />}
 * />
 * ```
 */
export declare function TopNav({ heading, startContent, children, centerContent, endContent, label: labelFromProps, xstyle, className, style, ref, ...props }: TopNavProps): import("react").JSX.Element | null;
export declare namespace TopNav {
    var displayName: string;
}
//# sourceMappingURL=TopNav.d.ts.map