import type { PublicEvent } from '../../../../blocks/events/shared/types';
export type EventAvailability = {
    /** Remaining spots. `null` when the event has no capacity cap. */
    available: number | null;
    /** True when the event has a cap and no spots remain. */
    isFull: boolean;
};
/**
 * Compute remaining spots for an event from `availableSpots` with a fallback
 * to `capacity - registeredCount`. Returns `{ available: null, isFull: false }`
 * for uncapped events so call sites can render no capacity indicator at all.
 *
 * The single source of truth for capacity math across event cards, agenda
 * rows, and timetable cells — keep wording variations in the call sites.
 */
export declare function getEventAvailability(event: PublicEvent): EventAvailability;
