import { type UseVenueEventsOptions, type VenueMarket } from "@agg-build/hooks";
import type { EventListItemEvent, VenueEventWithMarkets } from "../item/event-list-item.types";
import type { EventListTab, EventListTabValue } from "./event-list.types";
/** Filter out events that are not open or have no open venue markets. */
export declare const filterOpenEvents: (events: VenueEventWithMarkets[]) => VenueEventWithMarkets[];
export declare const sortEventsByVolumeDesc: (events: VenueEventWithMarkets[], sortEventsBy?: "volume") => VenueEventWithMarkets[];
export type EventLifecycleGroup = {
    open: VenueEventWithMarkets[];
    upcoming: VenueEventWithMarkets[];
    resolved: VenueEventWithMarkets[];
};
export declare const splitEventsByLifecycle: (events: VenueEventWithMarkets[]) => EventLifecycleGroup;
export declare const mapEventToEventListItemEvent: (event: VenueEventWithMarkets) => EventListItemEvent | null;
export declare const filterEventsByTabValue: (events: VenueEventWithMarkets[], _tabValue: EventListTabValue) => VenueEventWithMarkets[];
/** Filter markets to only those with status "open" or undefined (treated as open). */
export declare const filterOpenMarkets: (markets: VenueMarket[]) => VenueMarket[];
/** Sort markets by YES odds descending, preserving input order for ties and missing values. */
export declare const sortMarketsByYesOddsDesc: (markets: VenueMarket[]) => VenueMarket[];
export declare const resolveTabVenus: (tab: EventListTab | undefined, visibleVenues?: readonly string[]) => UseVenueEventsOptions["venues"] | undefined;
