export declare const BOOLEAN_TYPE: readonly [0, 1];
export declare const TICKET_VISIBILITY: readonly ["public", "private", "event"];
export declare const TICKET_ATTENDEE_TYPE: readonly ["sp", "del", "ex"];
export declare const EVENT_TYPE: readonly ["hybrid", "virtual", "onsite"];
export type ResponsePaginationType<T> = {
    data: T[];
    meta: {
        pagination: Pagination;
    };
};
export declare const CURRENCY: {
    readonly EUR: "EUR";
    readonly USD: "USD";
};
export declare const CURRENCY_TYPE: readonly ["EUR", "USD"];
export type AssigneeInput = {
    email: string;
    first_name: string;
    last_name: string;
    company_name: string;
};
export type Pagination = {
    total: number;
    count: number;
    per_page: number;
    current_page: number;
    total_pages: number;
    links: {
        previous: string;
        next: string;
    };
};
export type Booking = {
    id: string;
    code: string;
    total: number;
    sub_total: number;
    discount_value: number;
    base_price: number;
    vat: number;
    vat_value: number;
    booking_status: string;
    refund_policy: any;
    booking_date: string;
    currency: string;
    payment_method: string;
    invitation: Invitation;
    invoice: Invoice;
    payment_status: string;
    last_payment_date: any;
    payment_due_date: string;
    attendees: any;
    tickets: string[];
    options: string[];
    discounts: string[];
    order: Ticket[];
    event: string;
    client: string;
    belong_to: string;
    updated_at: string;
};
export type Invitation = {
    code: string;
    campaign: string;
};
export type Invoice = {
    salutation: string;
    firstName: string;
    lastName: string;
    street: string;
    city: string;
    state: string;
    postalCode: string;
    country: string;
    mobile: string;
    phone: string;
    email: string;
    companyName: string;
    poNumber: string;
    vatId: string;
    additionalDetails: string;
};
export type InvoiceInput = {
    salutation?: string;
    first_name?: string;
    last_name?: string;
    address_street?: string;
    address_city?: string;
    address_state?: string;
    address_postal_code?: string;
    address_country?: string;
    contact_mobile?: string;
    contact_email?: string;
    company_name?: string;
};
export type Ticket = {
    id: string;
    code: string;
    name: string;
    price: number;
    onsite: number;
    assigned: null | Assignee;
    discount: number;
    basePrice: number;
    reference: string;
    description: string;
    extra_options: ExtraOption[];
    included_options: IncludedOption[];
    discountValue: number;
    discountAvailable: boolean;
};
export type Assignee = {
    email: string;
    profile: string;
    last_name: string;
    first_name: string;
    assigned_at: string;
    company_name: string;
    confirmed_at: string | null;
};
export type ExtraOption = {
    id: string;
    name: string;
    type: string;
    price: number;
    amount: number;
    description: string;
};
export type IncludedOption = {
    id: string;
    name: string;
    type: string;
    price: number;
    amount: number;
    description: string;
};
export type Option = {
    amount: number;
    description: string;
    id: string;
    name: string;
    price: number;
    type: string;
};
export type BookingDetails = {
    id: string;
    name: string;
    code: string;
    hidden: (typeof BOOLEAN_TYPE)[number];
    description: string;
    price: number;
    visibility: (typeof TICKET_VISIBILITY)[number];
    included_options: Option[];
    extra_options: Option[];
    priority: number;
    onsite: (typeof BOOLEAN_TYPE)[number];
    attendee_type: (typeof TICKET_ATTENDEE_TYPE)[number];
    total: number;
    sub_total: number;
    discount_value: number;
    base_price: number;
    vat: number;
    vat_value: number;
    booking_status: string;
    refund_policy: any;
    booking_date: string;
    currency: string;
    payment_method: string;
    invitation: Invitation;
    invoice: Invoice;
    payment_status: string;
    last_payment_date: any;
    payment_due_date: string;
    attendees: any;
    tickets: string[];
    options: string[];
    discounts: string[];
    order: Ticket[];
    event: string;
    client: string;
    belong_to: string;
    updated_at: string;
};
export type PublicEvent = {
    about: string;
    account: string;
    address: {
        city: string;
        state: string;
        street: string;
        country: string;
        postalCode: string;
    };
    advertisement: {
        menuUrl: string;
        wallUrl: string;
        lobbyUrl: string;
        centerUrl: string;
        menuEnabled: boolean;
        centerEnabled: boolean;
        centerImageBig: string;
        centerImageMedium: string;
        centerImageSmall: string;
        centerUrlEnabled: boolean;
        centerUrlType: string;
        lobbyEnabled: boolean;
        lobbyImageBig: string;
        lobbyImageMedium: string;
        lobbyImageSmall: string;
        lobbyUrlEnabled: boolean;
        lobbyUrlType: string;
        menuImageBig: string;
        menuImageMedium: string;
        menuImageSmall: string;
        menuUrlEnabled: boolean;
        menuUrlType: string;
        wallEnabled: boolean;
        wallImageBig: string;
        wallImageMedium: string;
        wallImageSmall: string;
        wallUrlEnabled: boolean;
        wallUrlType: string;
    };
    contact: {
        xing: string;
        email: string;
        phone: string;
        mobile: string;
        twitter: string;
        facebook: string;
        instagram: string;
        linkedin: string;
        website1: string;
        website2: string;
    };
    description: string;
    design: {
        themeColor: string;
        headerColor: string;
        expoLobbyImage: string;
        backgroundColor: string;
        headerFontColor: string;
        agendaLobbyImage: string;
        backgroundDesktopImage: string;
        backgroundMobileImage: string;
        backgroundTabletImage: string;
        speakerLobbyImage: string;
        startScreenMobileImage: string;
    };
    end_date: string;
    id: string;
    images: {
        logo: string;
        picture: string;
        thumbnail: string;
        logoTransparent: string;
    };
    language: string;
    menu: any[];
    name: string;
    open_date: string;
    slug: string;
    start_date: string;
    tags: string[];
    timezone: string;
    translation: string;
    type: string;
    updated_at: string;
    location: EventLocation | null;
    video: {
        reference: string;
        type: string;
    };
};
export type PublicTicket = {
    page?: number;
    code?: string;
    id?: string;
    ticketCode?: string | null;
    eventSlug?: string;
};
export type EventType = {
    id: string;
    name: string;
    slug: string;
    start_date: string;
    end_date: string;
    open_date: string;
    timezone: string;
    language: string;
    type: (typeof EVENT_TYPE)[number];
    images: EventImagesType;
    address: EventAddressType;
    contact: EventContactType;
    location: EventLocation;
};
export type EventImagesType = {
    logo: string;
    picture: string;
    thumbnail: string;
    logoTransparent: string;
};
export type EventAddressType = {
    city: string;
    state: string;
    street: string;
    country: string;
    postalCode: string;
};
export type EventContactType = {
    xing: string;
    email: string;
    phone: string;
    mobile: string;
    twitter: string;
    facebook: string;
    linkedin: string;
    website1: string;
    website2: string;
    instagram: string;
};
export type EventLocation = {
    name: string;
    marker: LocationMarker;
};
export type LocationMarker = {
    latitude: string;
    longitude: string;
    type: string;
    street: string;
    city: string;
    state: string;
    postalCode: string;
    country: string;
};
export type ErrorType = {
    status: number;
    message_code: number;
    message: string;
    invalid_fields: Record<string, string[]>;
};
export type PublicBookingsCheckInput = {
    event: string;
    invoice?: InvoiceInput;
    discount?: string;
    payment_account: string;
    tickets: TicketOptionsInput[];
};
export type OptionInput = {
    option?: string;
};
export type TicketOptionsInput = {
    ticket: string;
    options?: OptionInput[];
    index?: number;
};
