import { ButtonHTMLAttributes, ReactNode } from 'react';
/**
 * NavButton component for Analytica Ensino platforms
 *
 * Um botão de navegação com ícone e texto para navegação principal.
 * Ideal para menus de navegação, sidebar, tabs de navegação, etc.
 * Suporta forwardRef para acesso programático ao elemento DOM.
 *
 * @param icon - O ícone a ser exibido no botão
 * @param label - O texto/label a ser exibido
 * @param selected - Estado de seleção do botão
 * @param className - Classes CSS adicionais
 * @param props - Todos os outros atributos HTML padrão de button
 * @returns Um elemento button estilizado para navegação
 *
 * @example
 * ```tsx
 * <NavButton
 *   icon={<HomeIcon />}
 *   label="Início"
 *   selected={false}
 *   onClick={() => navigate('/')}
 * />
 * ```
 *
 * @example
 * ```tsx
 * // Usando ref para foco programático
 * const buttonRef = useRef<HTMLButtonElement>(null);
 *
 * const handleFocus = () => {
 *   buttonRef.current?.focus();
 * };
 *
 * <NavButton
 *   ref={buttonRef}
 *   icon={<HomeIcon />}
 *   label="Dashboard"
 *   selected={isActive}
 *   onClick={() => setActiveTab('dashboard')}
 * />
 * ```
 */
declare const NavButton: import("react").ForwardRefExoticComponent<{
    /** Ícone a ser exibido no botão */
    icon: ReactNode;
    /** Texto/label a ser exibido ao lado do ícone */
    label: string;
    /** Estado de seleção do botão */
    selected?: boolean;
    /** Additional CSS classes to apply */
    className?: string;
} & ButtonHTMLAttributes<HTMLButtonElement> & import("react").RefAttributes<HTMLButtonElement>>;
export default NavButton;
//# sourceMappingURL=NavButton.d.ts.map