import { Theme } from '@mui/material';
import { ComponentPalletColor, Sizes } from '@m4l/styles';
import { M4LOverridesStyleRules } from '../../../../@types/augmentations';
import { AREAS_ADMIN_KEY_COMPONENT } from './constants';
import { AreasAdminSlots } from './slots/AreasAdminEnum';
export type AreasAdminOrientation = 'vertical' | 'horizontal';
export type AreasAdminModuleItem = {
    id: string;
    iconUrl: string;
    label: string;
    title: string;
};
export interface AreasAdminEditForm {
    inputEditArea: string;
}
export interface AreasAdminProps {
    /**
     * Component color variant.
     */
    color?: Extract<ComponentPalletColor, 'primary'>;
    /**
     * Supported component sizes.
     */
    size?: Extract<Sizes, 'small' | 'medium'>;
    /**
     * Areas layout orientation.
     */
    orientation?: AreasAdminOrientation;
    /**
     * Maximum number of visible module items before the overflow menu appears.
     */
    moduleItemLimit?: number;
    /**
     * Optional `data-testid` override for tests.
     */
    dataTestId?: string;
    /**
     * Optional custom CSS class applied to the root slot.
     */
    className?: string;
    /**
     * Additional props forwarded to the root slot.
     */
    [key: string]: unknown;
}
export interface AreasAdminOwnerState {
    /**
     * Whether the current device layout is mobile.
     */
    isMobile: boolean;
    /**
     * Effective component size.
     */
    size: AreasAdminProps['size'];
    /**
     * Effective color variant.
     */
    color: AreasAdminProps['color'];
    /**
     * Effective layout orientation.
     */
    orientation: AreasAdminOrientation;
    /**
     * Whether a module-switching section is currently visible.
     */
    hasModules: boolean;
    /**
     * Additional owner-state fields consumed by styled slots.
     */
    [key: string]: unknown;
}
export type AreasAdminType = keyof typeof AreasAdminSlots;
export type AreasAdminStyles = M4LOverridesStyleRules<AreasAdminType, typeof AREAS_ADMIN_KEY_COMPONENT, Theme>;
//# sourceMappingURL=types.d.ts.map