import { Attendee } from "../attendee/types";
import { Address } from "../types";
export type Link = {
    rel: string;
    uri: string;
};
export type MeetingItem = {
    id: string;
    start_date: string;
    end_date: string;
    subject: string;
    description: string;
    location: string;
    hosted_by: string;
    event: string;
    visibility: string;
    virtual: boolean;
    delivered: boolean;
    confirmed_users: string[];
    canceled_users: string[];
    invited_users: string[];
    invited_attendees?: string[];
    declined_users: string[];
    approved_by: string;
    arranged_by: string;
    delivered_by: string;
    delivered_at: string;
    links: Link[];
    rating: {
        ratingCount: number;
        ratingList: {
            [key: string]: number;
        };
        ratingScore: boolean;
    };
    invited_list?: Attendee[];
};
export type MeetingObjType = {
    selectedDate?: string | Date;
    invited_list_names?: string;
    locationName?: string;
} & MeetingItem;
export type LocationItem = {
    id: string;
    name: string;
    description: string;
    event: string;
    marker: Address & {
        latitude: string;
        longitude: string;
    };
    visibility: string;
    virtual: boolean;
    images: {
        image: string;
        thumbnail: string;
    };
    links: Link[];
};
export type EventMeetingStatisticsItem = {
    start_date: string;
    end_date: string;
    delivered: boolean;
    confirmed: number;
    canceled: number;
    invited: number;
    declined: number;
    virtual: boolean;
    rating: unknown;
    created_at: string;
    location: string;
    arranged: boolean;
};
export type MeetingsProviderState = {
    allMeetings: MeetingItem[];
    meetings: MeetingItem[];
    arrangedMeetings: MeetingItem[];
    meetingObj?: MeetingObjType;
    errorMessage: string;
    isInitialized: boolean;
    isLoading: boolean;
    isUpdating: string | null;
    isError: boolean;
    error: any;
    isUpdateError: boolean;
    isUpdatingRating: boolean;
};
