import { IRoomstayMember, IRoomstayMemberBooking, IRoomstayMemberBookingItem, IRoomstayMemberCards } from '@roomstay/core';
export type IRoomstayMemberBookingItemWithRefAndHotelDetails = {
    bookingId: string;
    hotelId: IRoomstayMemberBooking['hotelId'];
    hotel: IRoomstayMemberBooking['hotel'];
} & IRoomstayMemberBookingItem;
export type IRoomstayMemberContext = {
    loading?: boolean;
    roomstayMember?: IRoomstayMember;
    cards?: IRoomstayMemberCards[];
    allBookings?: IRoomstayMemberBooking[];
    allItineraries?: IRoomstayMemberBookingItemWithRefAndHotelDetails[];
    cancelledBookings?: IRoomstayMemberBookingItemWithRefAndHotelDetails[];
    pastBookings?: IRoomstayMemberBookingItemWithRefAndHotelDetails[];
    upcomingBookings?: IRoomstayMemberBookingItemWithRefAndHotelDetails[];
    updateCardToMemberDetail?: (cards: IRoomstayMemberCards) => void;
    updateMemberDetails?: (newDetails: IRoomstayMember) => Promise<void>;
    fetchRoomstayMember?: () => Promise<void>;
    isFetchingMember?: boolean;
};
export declare const RoomstayMemberContext: import("react").Context<IRoomstayMemberContext>;
export declare const useMemberContext: () => IRoomstayMemberContext;
