import { AnswersType } from "../event/types";
import { Address } from "../types";
export declare enum NOTE_TYPE {
    SESSIONS = "sessions",
    EXHIBITIONS = "exhibitions",
    PROFILES = "profiles",
    DOCUMENTS = "documents",
    MEETINGS = "meetings"
}
export type Link = {
    rel: string;
    uri: string;
};
export type ChatAccount = {
    account: string;
    password: string;
    email: string;
    secret: string;
    host: string;
    chat_email: string;
    chat_recipient: number;
    chat_sender: number;
};
export type Attendee = {
    id: string;
    user: string;
    event: string;
    links: Link[];
    salutation: string;
    first_name: string;
    last_name: string;
    chat_recipient: number;
    chat_sender: number;
    activity: string;
    roles: string[];
    images: {
        avatar: string;
        picture: string;
        thumbnail: string;
    };
    job: {
        level: string;
        title: string;
        responsibility: string;
    };
    address: Address;
    company: {
        logo: string;
        name: string;
        size: string;
        about: string;
        industry: string;
        thumbnail: string;
        typeOfBusiness: string;
        twitter: string;
        facebook: string;
        linkedin: string;
        website1: string;
        xing: string;
        instagram: string;
        investment: string;
    };
    tags: string[];
    matches?: string[];
    profile: string;
    about?: string;
    contact?: any;
    favorites?: {
        pinnedAttendees: string[];
        pinnedSessions: string[];
        pinnedExhibitions: string[];
        pinnedDocuments: string[];
    };
    is_me?: boolean;
    onsite?: boolean;
    public_contact?: Contact;
    confirmed_at: string;
    onboarding_answers?: {
        answers: AnswersType[];
        count: number;
    };
};
export type AttendeeProfile = Attendee & {
    about: string;
    tags: string[];
    is_active: string;
    email: string;
    is_onboarded: boolean;
    phone: string;
    contact?: {
        email: string;
        phone: string;
        mobile: string;
        website1: string;
        website2: string;
        twitter: string;
        facebook: string;
        linkedin: string;
        xing: string;
        instagram: string;
    };
    setting: {
        primaryLanguage: "en" | "de";
        newsletterSubscription: boolean;
        chat: {
            sender: number;
            recipient: number;
            email: string;
            password: string;
        };
        analytics: "1" | "";
        advertisementNotification: "1" | "";
        chatNotification: "1" | "";
        eventNotification: "1" | "";
        meetingNotification: "1" | "";
    };
    public_contact: {
        xing: string;
        email: string;
        phone: string;
        mobile: string;
        twitter: string;
        facebook: string;
        linkedin: string;
        website1: string;
        website2: string;
    };
    onsite?: boolean;
    chat?: string | {
        accounts: ChatAccount[];
        private_secret: string;
    };
    secret?: string;
    type?: string;
};
export type Speaker = Attendee & {
    priority: number;
};
export type GlobalFilter = {
    filterLocation: string | string[];
    filterNote: string | string[];
    sortType: string | string[];
    filterCompanySize?: string | string[];
    filterRegistrationStatus?: string | string[];
    filterCity?: string | string[];
    filterIndustry?: string | string[];
    speakerType?: string | string[];
    filterCheckInAttendeeType?: string | string[];
    filterCheckInStatus?: string | string[];
    filterStatus?: string | string[];
    filterType?: string | string[];
};
export type User = {
    id: string;
    email: string;
    phone: string;
    source: string;
    email_verified_at: string;
    phone_verified_at: string;
    is_active: boolean;
    created_at: string;
    updated_at: string;
    links: [
        {
            rel: string;
            uri: string;
        }
    ];
    profile: {
        data: AttendeeProfile;
    };
};
export type AttendeeInput = {
    id: string;
    is_onboarded: number;
    email: string;
    salutation: string;
    first_name: string;
    last_name: string;
    phone: string;
    about: string;
    avatar: string;
    address_city: string;
    address_state: string;
    address_street: string;
    address_country: string;
    address_postal_code: string;
    contact_xing: string;
    contact_email: string;
    contact_phone: string;
    contact_mobile: string;
    contact_twitter: string;
    contact_facebook: string;
    contact_linkedin: string;
    contact_instagram: string;
    contact_website1: string;
    company_xing: string;
    company_twitter: string;
    company_facebook: string;
    company_linkedin: string;
    company_instagram: string;
    company_website1: string;
    contact_website2: string;
    job_level: string;
    public_contact_email: string;
    public_contact_facebook: string;
    public_contact_linkedin: string;
    public_contact_mobile: string;
    public_contact_phone: string;
    public_contact_twitter: string;
    public_contact_instagram: string;
    public_contact_website1: string;
    public_contact_website2: string;
    public_contact_xing: string;
    job_title: string;
    job_responsibility: string;
    company_logo: string;
    company_name: string;
    company_size: string;
    company_about: string;
    company_industry: string;
    company_thumbnail: string;
    company_type_of_business: string;
    company_investment: string;
    setting_primary_language: "en" | "de";
    setting_newsletter_subscription: boolean;
    setting_publicity_email: boolean;
    setting_analytics: string;
    setting_notification_advertisement: string;
    setting_notification_event: string;
    setting_notification_meeting: string;
    setting_notification_chat: string;
    tags: string;
};
export type FetchAuthenticationParams = {
    email: string;
    password: string;
};
export type AttendeeActionsType = "default" | "meeting" | "lead" | "session" | "admin" | "chat";
export type ActionOnAttendee = "meet" | "chat" | "block" | "pin" | "video" | "cancel" | "edit" | "invite" | "confirm" | "check-in" | "note";
export type NoteActionType = "edit" | "show" | "delete";
export type SuccessResponse = {
    message: string;
    message_code: number;
    status: number;
};
export type CreateAttendeeType = {
    role: "de" | "ex" | "sp";
    salutation: string;
    first_name: string;
    last_name: string;
    email: string;
    company_name: string;
    job_title: string;
    phone_number: string;
    mobile: string;
    onsite: "1" | "0";
};
export type Contact = {
    email: string;
    mobile: string;
    phone: string;
    website1: string;
    website2: string;
    xing: string;
    instagram: string;
    facebook: string;
    linkedin: string;
    twitter: string;
};
export type Note = {
    id: string;
    type: string;
    message: string;
    reference: string;
    event: string;
    detail: unknown;
    updateDate: string;
};
export type NoteUpdateInput = {
    message: string;
    detail?: unknown;
};
export type NoteInput = {
    type: NOTE_TYPE;
    reference: string;
    event: string;
} & NoteUpdateInput;
export type UserNotification = {
    id: string;
    message: string;
    url: string;
    date: string;
    viewed: string;
    type: string;
    event: string;
    reference: string;
};
