import { ReactNode } from 'react';
import { AppBarSlots } from './slots/AppBarEnum';
import { APP_BAR_KEY } from './constants';
import { Theme } from '@mui/material/styles';
import { ComponentPalletColor, Sizes } from '@m4l/styles';
import { M4LOverridesStyleRules } from '../../@types/augmentations';
/**
 * Propiedades de estilo para el componente raíz de la barra de aplicaciones.
 */
export type RootStyleProps = {
    isCollapse: boolean;
    isOffset: boolean;
    isSideBarVisible: boolean;
};
export interface AppBarProps {
    /**
     * Color de la barra de aplicaciones.
     */
    color?: Extract<ComponentPalletColor, 'default'>;
    /**
     * Opción de tamaño de la barra de aplicaciones.
     */
    size?: Extract<Sizes, 'small' | 'medium'>;
    /**
     * Opción de aparición de la barra de aplicaciones.
     */
    variant?: 'standard';
    /**
     * Indica si la barra lateral está anclada.
     */
    sidebarAnchored: boolean;
    /**
     * Función que activa la visualización del menú de la aplicación en la vista móvil.
     */
    onToggleVisible: () => void;
    /**
     * Función que activa la visualización del menú de la aplicación en la vista móvil.
     */
    onToggleAnchored: () => void;
    /**
     * Elementos secundarios de la barra de aplicaciones.
     */
    children: ReactNode;
    /**
     * URL de la imagen del logotipo de la compañía.
     */
    companyLogo?: string;
    /**
     * Nombre de la compañía.
     */
    companyName?: string;
    /**
     * Identificador de prueba.
     */
    dataTestid?: string;
}
export type AppBarOwnerState = Pick<AppBarProps, 'size'> & {
    isMobile: boolean;
};
/**
 * Define los tipos de Slots disponibles para el `AppBar`.
 */
export type AppBarSlotsType = keyof typeof AppBarSlots;
/**
 * Estilos aplicables al `AppBar`
 */
export type AppBarStyles = M4LOverridesStyleRules<AppBarSlotsType, typeof APP_BAR_KEY, Theme>;
//# sourceMappingURL=types.d.ts.map