import Model from '@tripian/model';
export interface DataModel {
    initialised: boolean;
    hasError: boolean;
    errors: any[];
    logs: any[];
    configList?: Model.ConfigList;
    cities: Record<Model.LangCodeKey, Model.City[]>;
    citiesInfo: Record<Model.LangCodeKey, Model.CityInfo[]>;
    citiesEvents: Record<Model.LangCodeKey, {
        cityId: number;
        events: Model.CityEvent[];
    }[]>;
    feedbacks: Record<Model.LangCodeKey, Model.Feedbacks>;
    userFeedbacks: Record<Model.LangCodeKey, Model.UserFeedback[]>;
    poiCategoryResponse: Record<Model.LangCodeKey, Model.PoiCategoryResponse>;
    pois: Record<Model.LangCodeKey, {
        showOffersOnly: number;
        showBookingsOnly: number;
        pois: Model.Poi[];
    }[]>;
    questions: Record<Model.LangCodeKey, Model.Question[]>;
    questionsTrip: Record<Model.LangCodeKey, Model.Question[]>;
    questionsProfile: Record<Model.LangCodeKey, Model.Question[]>;
    questionsCompanion: Record<Model.LangCodeKey, Model.Question[]>;
    topTens: Record<Model.LangCodeKey, {
        cityId: number;
        topTen: Model.TopTen[];
    }[]>;
    user?: Model.User;
    favorites: Record<Model.LangCodeKey, {
        cityId: number;
        favoritePois: Model.Favorite[];
    }[]>;
    companions: Record<Model.LangCodeKey, Model.Companion[]>;
    reservations: Record<Model.LangCodeKey, Model.UserReservation[]>;
    userReactions: Record<Model.LangCodeKey, {
        tripHash: string;
        userReactions: Model.UserReaction[];
    }[]>;
    tripRefs?: Model.TripReference[];
    tripSavedRefs?: Model.TripReference[];
    trips: Record<Model.LangCodeKey, Model.Trip[]>;
    trip: Record<Model.LangCodeKey, Model.Trip>;
    poisAll: Record<Model.LangCodeKey, {
        cityId: number;
        poiCategories: number[];
        showOffersOnly: number;
        showBookingsOnly: number;
        pois: Model.DataPayload<Model.Poi[]>;
    }[]>;
    autoCompleteTags: Record<Model.LangCodeKey, {
        id: number;
        name: string;
    }[]>;
    autoCompleteTagsAll: Record<Model.LangCodeKey, {
        cityId: number;
        poiCategories: number[];
        tags: {
            id: number;
            name: string;
        }[];
    }[]>;
}
