import { ACTION_CATEGORY, ACTION_NAME, ACTION_RESOURCE_NAME } from "../constants/api";
export type ObjectValue<T extends Record<string, unknown>> = T[keyof T];
export type ValidAttendeeAction = ObjectValue<typeof ATTENDEE_ACTION>;
export declare const ATTENDEE_ACTION: {
    readonly VIEW_PROFILE: "view-profile";
    readonly DOWNLOAD_CLICK: "download-click";
    readonly CONTACT_CLICK_CHAT: "contact-click-chat";
    readonly CONTACT_CLICK_GROUP_CHAT: "contact-click-group-chat";
    readonly CONTACT_CLICK_PIN: "contact-click-pin";
    readonly CONTACT_CLICK_UNPIN: "contact-click-unpin";
    readonly WEBSITE_CLICK_1: "website1-click";
    readonly WEBSITE_CLICK_2: "website2-click";
    readonly PHONE_CLICK: "phone-click";
    readonly MOBILE_CLICK: "mobile-click";
    readonly EMAIL_CLICK: "email-click";
    readonly SOCIAL_MEDIA_CLICK: "social-media-click";
    readonly CREATE_CHAT: "create";
    readonly CONTACT_CLICK_MEETING: "contact-click-meeting";
};
export type ValidExhibitionAction = ObjectValue<typeof EXHIBITION_ACTION>;
export declare const EXHIBITION_ACTION: {
    readonly VIEW_BOOTH: "view-booth";
    readonly DOWNLOAD_CLICK: "download-click";
    readonly VIDEO_CLICK: "video-click";
    readonly CONTACT_CLICK_CHAT: "contact-click-chat";
    readonly CONTACT_CLICK_PIN: "contact-click-pin";
    readonly CONTACT_CLICK_UNPIN: "contact-click-unpin";
    readonly CONTACT_CLICK_MEETING: "contact-click-meeting";
    readonly SESSION_CLICK: "session-click";
    readonly WEBSITE_CLICK: "website-click";
    readonly PHONE_CLICK: "phone-click";
    readonly EMAIL_CLICK: "email-click";
    readonly SOCIAL_MEDIA_CLICK: "social-media-click";
    readonly SESSION_SAVED_SEAT: "session-saved-seat";
    readonly PINNED_BOOTH: "pinned-booth";
    readonly UNPINNED_BOOTH: "unpinned-booth";
};
export type Address = {
    city: string;
    state: string;
    street: string;
    country: string;
    postalCode: string;
};
export type SuccessResponse = {
    message: string;
    message_code: number;
    status: number;
};
export type BadgeConfig = {
    coffeeCode: string;
    type: "bluetooth" | "ip";
    printerModel: string;
    qrCodeValue: string;
    printerPaperSize: string;
};
export type ActionName = ObjectValue<typeof ACTION_NAME>;
export type ActionCategory = ObjectValue<typeof ACTION_CATEGORY>;
export type ActionResourceName = ObjectValue<typeof ACTION_RESOURCE_NAME>;
export type ExhibitionReport = {
    event: string;
    exhibition: string;
    action: ActionName;
    category: ActionCategory;
    reference: string;
    type: string;
    resource: ActionResourceName;
};
export type ChatReference = {
    initiator: string;
    invited: string[];
    message: string;
    conversation: string;
};
export type AttendeeReport = {
    event: string;
    action: ActionName;
    category: ActionCategory;
    reference: string | ChatReference;
    type: string;
    resource: ActionResourceName;
};
export type SessionReport = {
    event: string;
    session: string;
    action: ActionName;
    category: ActionCategory;
    reference: string;
    type: any;
    resource: ActionResourceName;
};
