import { ComponentNameToClassKey, SxProps, Theme, PopoverProps as MUIPopoverProps } from '@mui/material';
import { PopoverSlots } from './slots';
import { POPOVER_KEY_COMPONENT } from './constants';
import { Sizes } from '@m4l/styles';
import { M4LOverridesStyleRules } from '../../../../@types/augmentations';
export interface PopoverProps extends Omit<MUIPopoverProps, 'sx'> {
    arrowType?: ArrowType;
    sx?: SxProps<Theme> | Partial<M4LOverridesStyleRules<string, ComponentNameToClassKey, Theme>>;
    size?: Sizes;
    /**
     * Propiedad que sirve para complementar el nombre del data-testid, aporta un identificador único del elemento html en toda aplicación.
     * Es útil para realizar pruebas unitarias y de integración.
     */
    instaceDataTestId?: string;
}
export type ArrowType = 'no-arrow' | 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right' | 'left-top' | 'left-center' | 'left-bottom' | 'right-top' | 'right-center' | 'right-bottom';
export type ArrowStyleProps = {
    arrowType: ArrowType;
};
export type PopoverSlotsType = keyof typeof PopoverSlots;
export type PopoverOwnerState = PopoverProps;
export type PopoverStyles = M4LOverridesStyleRules<PopoverSlotsType, typeof POPOVER_KEY_COMPONENT, Theme>;
//# sourceMappingURL=types.d.ts.map