import { Theme } from '@mui/material';
import { AreaStatus, AreasStatus } from '../areas/contexts/AreasContext/types';
import { LOADING_ERROR_KEY_COMPONENT } from './constants';
import { OverridesStyleRules } from '@mui/material/styles/overrides';
import { LoadingErrorSlots } from './slots/LoadingErrorEnum';
import { Sizes } from '@m4l/styles';
export interface AreasLoadingErrorProps {
    /** Current component status. */
    status: AreasStatus | AreaStatus;
    /** Callback executed when the action button is pressed. */
    action: () => void;
    /** Error title shown by the component. */
    title?: string;
    /** Detailed error description. */
    description?: string;
    /** Legacy recommendation text kept for compatibility. It is not rendered. */
    recommendation?: string;
    /** Action button label override. */
    introMessage?: string;
    /** Error icon path or identifier. */
    errorIcon?: string;
    /** CSS class applied to the component root. */
    className?: string;
    /** Test id applied to the component root. */
    dataTestId?: string;
    /** Component size. */
    size?: Extract<Sizes, 'small' | 'medium'>;
}
export type LoadingErrorOwnerState = {
    size?: AreasLoadingErrorProps['size'];
};
export type LoadingErrorType = keyof typeof LoadingErrorSlots;
export type LoadingErrorStyles = OverridesStyleRules<LoadingErrorType, typeof LOADING_ERROR_KEY_COMPONENT, Theme>;
//# sourceMappingURL=types.d.ts.map