/**
 * @file SideNavCollapseButton.tsx
 * @input Uses React, StyleX, SideNavCollapseContext, getIcon
 * @output Exports SideNavCollapseButton component
 * @position Composable toggle button for sidenav collapse
 *
 * Place inside SideNav (reads context automatically) or outside
 * (pass handleRef to connect). Customizable via label/children.
 *
 * SYNC: When modified, update:
 * - /packages/core/src/SideNav/SideNav.doc.mjs
 * - /packages/core/src/SideNav/index.ts
 * - /packages/cli/assets/templates/blocks/components/SideNav/ (showcase blocks)
 */
import React, { type ReactNode } from 'react';
import type { BaseProps } from '../BaseProps';
import { type SideNavImperativeCollapseHandle } from './SideNavCollapseContext';
export interface SideNavCollapseButtonProps extends BaseProps<HTMLButtonElement> {
    ref?: React.Ref<HTMLButtonElement>;
    /**
     * Imperative handle from SideNav. Only needed when the button is rendered
     * outside the sidenav, where collapse context is unavailable.
     */
    handleRef?: React.RefObject<SideNavImperativeCollapseHandle | null>;
    /**
     * Custom button label text. When provided, renders as a text button
     * with the chevron icon. When omitted, renders as an icon-only button.
     */
    label?: string;
    /**
     * Custom button content. Overrides the default chevron icon and label.
     */
    children?: ReactNode;
}
/**
 * Composable toggle button for sidenav collapse.
 *
 * Place anywhere inside SideNav (header, topContent, footer, footerIcons)
 * and it reads collapse state from context automatically. For placement
 * outside the sidenav (e.g. in TopNav or content area), pass handleRef.
 *
 * @example
 * ```
 * <SideNav isCollapsible footerIcons={<SideNavCollapseButton />}>
 *   ...
 * </SideNav>
 * ```
 *
 * @example
 * ```
 * const ref = useRef(null);
 * <TopNav endContent={<SideNavCollapseButton handleRef={ref} />} />
 * <SideNav handleRef={ref} collapsible>...</SideNav>
 * ```
 */
export declare function SideNavCollapseButton({ ref, handleRef, label, children, onClick: onClickProp, ...props }: SideNavCollapseButtonProps): React.JSX.Element | null;
export declare namespace SideNavCollapseButton {
    var displayName: string;
}
//# sourceMappingURL=SideNavCollapseButton.d.ts.map