import type { EventDetailDto, EventListItemDto } from '../dto/event.dto';
export interface WpMediaItem {
    node: {
        sourceUrl: string;
    } | null;
}
export interface WpEventGalleryConnection {
    nodes: {
        sourceUrl: string | null;
    }[];
}
export interface WpEventDetails {
    riEventCountryDisplay: (string | null)[] | null;
    riEventStart: string | null;
    riEventOverview: string | null;
    riEventVideoUrl: string | null;
    riEventGallery: WpEventGalleryConnection | null;
}
export interface WpEventTranslationNode {
    slug: string | null;
    languageCode: string | null;
}
export interface WpEventNode {
    slug: string | null;
    title: string | null;
    featuredImage: WpMediaItem | null;
    riEventDetails: WpEventDetails | null;
    translations?: (WpEventTranslationNode | null)[] | null;
}
export interface WpEventsConnection {
    nodes: WpEventNode[];
    pageInfo: {
        hasNextPage: boolean;
        endCursor?: string | null;
    };
}
export declare function mapWpEventToListItem(node: WpEventNode): EventListItemDto;
export declare function mapWpEventToDetail(node: WpEventNode): EventDetailDto;
export declare function sliceEventsPage(connection: WpEventsConnection, page: number, limit: number): {
    events: EventListItemDto[];
    hasNextPage: boolean;
};
