import { NavLinkProps as RouterNavLinkProps } from 'react-router-dom';
import { TypographyProps } from '@m4l/base';
import { ComponentPalletColor, Sizes } from '@m4l/styles';
import { NavLinkSlots } from './slots/NavLinkEnum';
import { M4LOverridesStyleRules } from '../../../../@types/augmentations';
import { NAV_LINK_KEY_COMPONENT } from './constants';
import { Theme } from '@mui/material';
/**
 * 💃 Propiedades del componente NavLink(NavLinkProps)💃.
 */
export interface NavLinkProps extends RouterNavLinkProps, Pick<TypographyProps, 'skeletonWidth'> {
    text: string;
    /** Define el color del texto. Por defecto es 'primary'. */
    color?: Exclude<ComponentPalletColor, 'primary'>;
    /** Define el with of skeleton mode */
    skeletonWidth?: string | number;
    /** Define el tamaño de la etiqueta. Puede ser 'small' o 'medium'. Por defecto es 'medium'.*/
    size?: Extract<Sizes, 'small' | 'medium'>;
    /** Define el variant de la etiqueta. Por defecto es 'standard'.  */
    variant?: 'standard';
    /** Indica si el campo de texto está deshabilitado. */
    disabled?: boolean;
    /**  Estilos personalizados para el componente. */
    dataTestId?: string;
    /** Define el white space del texto. Por defecto es 'normal'. */
    whiteSpace?: boolean;
}
/** Estado del propietario del NavLink.*/
export type NavLinkOwnerState = Pick<NavLinkProps, 'color' | 'whiteSpace'> & {
    /** Indica si el NavLink está deshabilitado. */
    disabled?: boolean;
    /** Define el tamaño de la etiqueta. Puede ser 'small' o 'medium'. Por defecto es 'medium'.*/
    size: Extract<Sizes, 'small' | 'medium'>;
};
export type NavLinkSlotsType = keyof typeof NavLinkSlots;
export type NavLinkStyles = M4LOverridesStyleRules<NavLinkSlotsType, typeof NAV_LINK_KEY_COMPONENT, Theme>;
//# sourceMappingURL=types.d.ts.map