import { Payload as UserPayload } from './updateUserProfile/generated-types';
import { Payload as TrackEventPayload } from './trackEvent/generated-types';
import { Payload as CartViewedEventPayload } from './cartViewedEvent/generated-types';
import { Payload as CheckoutEventPayload } from './checkoutEvent/generated-types';
import { Payload as OrderCompletedEventPayload } from './orderCompletedEvent/generated-types';
import { Payload as ProductAddedEventPayload } from './productAddedEvent/generated-types';
import { Payload as ProductListViewedEventPayload } from './productListViewedEvent/generated-types';
import { Payload as productRemovedEventPayload } from './productRemovedEvent/generated-types';
import { Payload as productViewedEventPayload } from './productViewedEvent/generated-types';
import { Payload as userRegisteredEventPayload } from './userRegisteredEvent/generated-types';
export declare const API_BASE = "https://unification.useinsider.com/api/";
export declare const UPSERT_ENDPOINT = "user/v1/upsert";
export interface insiderEvent {
    event_name: string;
    timestamp: string;
    event_params: {
        [key: string]: string | number | boolean;
    };
}
export interface upsertUserPayload {
    identifiers: {
        uuid?: string | null | undefined;
        custom?: object;
    };
    attributes: {
        [key: string]: never;
    };
    not_append: boolean;
    events: insiderEvent[];
}
export declare function userProfilePayload(data: UserPayload): {
    users: {
        identifiers: {
            uuid: string | undefined;
            custom: {
                segment_anonymous_id: string | undefined;
            };
        };
        attributes: {
            age: number | undefined;
            birthday: string | undefined;
            email: string | undefined;
            name: string | undefined;
            gender: string | undefined;
            surname: string | undefined;
            phone_number: string | undefined;
            city: string | undefined;
            country: string | undefined;
            gdpr_optin: boolean | undefined;
            email_optin: boolean | undefined;
            sms_optin: boolean | undefined;
            whatsapp_optin: boolean | undefined;
            language: string | undefined;
            custom: {
                [k: string]: unknown;
            } | undefined;
        };
        not_append: boolean;
    }[];
    platform: string;
};
export declare function sendTrackEvent(data: TrackEventPayload | CartViewedEventPayload | CheckoutEventPayload | OrderCompletedEventPayload | ProductAddedEventPayload | ProductListViewedEventPayload | productRemovedEventPayload | productViewedEventPayload | userRegisteredEventPayload, event_name: string): {
    users: upsertUserPayload[];
    platform: string;
};
export declare function bulkUserProfilePayload(data: UserPayload[]): {
    users: {
        identifiers: {
            uuid: string | undefined;
            custom: {
                segment_anonymous_id: string | undefined;
            };
        };
        attributes: {
            age: number | undefined;
            birthday: string | undefined;
            email: string | undefined;
            name: string | undefined;
            gender: string | undefined;
            surname: string | undefined;
            phone_number: string | undefined;
            city: string | undefined;
            country: string | undefined;
            gdpr_optin: boolean | undefined;
            email_optin: boolean | undefined;
            sms_optin: boolean | undefined;
            whatsapp_optin: boolean | undefined;
            language: string | undefined;
            custom: {
                [k: string]: unknown;
            } | undefined;
        };
        not_append: boolean;
    }[];
    platform: string;
};
export declare function sendBulkTrackEvents(dataArray: TrackEventPayload[] | CartViewedEventPayload[] | CheckoutEventPayload[] | OrderCompletedEventPayload[] | ProductAddedEventPayload[] | ProductListViewedEventPayload[] | productRemovedEventPayload[] | productViewedEventPayload[] | userRegisteredEventPayload[], event_name?: string): {
    users: upsertUserPayload[];
    platform: string;
};
