import { Ref } from 'vue';
import { CalendarEvent } from './CalendarTypes';
export interface PopoverState {
    activeEvent: Ref<CalendarEvent | null>;
    showPopover: Ref<boolean>;
    popoverPosition: Ref<{
        top: number;
        left: number;
        width: number;
        height: number;
    }>;
    popoverRef: Ref<HTMLElement | null>;
}
/**
 * Positions the popover to be centered on the target element and ensures it stays within viewport
 */
export declare function calculatePopoverPosition(target: HTMLElement, popoverWidth?: number, popoverHeight?: number): {
    top: number;
    left: number;
    width: number;
    height: number;
};
/**
 * Opens a popover for a calendar event
 */
export declare function openPopover(event: CalendarEvent, e: MouseEvent, state: PopoverState, hasEventContentSlot: boolean, emitEventClick: (event: CalendarEvent) => void): void;
/**
 * Closes the popover
 */
export declare function closePopover(state: PopoverState): void;
//# sourceMappingURL=utils.d.ts.map