declare const isIsoDate: (value: string) => boolean;
export declare const trackApiEndpoint: ({ accountRegion }: {
    accountRegion?: string;
}) => "https://track-eu.customer.io" | "https://track.customer.io";
export declare enum AccountRegion {
    US = "US \uD83C\uDDFA\uD83C\uDDF8",
    EU = "EU \uD83C\uDDEA\uD83C\uDDFA"
}
export declare const convertValidTimestamp: <Value = unknown>(value: Value) => Value | number;
export declare const convertAttributeTimestamps: <Payload extends {}>(payload: Payload) => Payload;
type RequestPayload<Payload> = {
    settings: {
        accountRegion?: string;
        trackEndpoint?: string;
    };
    type: string;
    action: string;
    payload: Payload;
};
type Identifiers = {
    anonymous_id?: string;
    cio_id?: string;
    email?: string;
    id?: string;
    object_id?: string;
    object_type_id?: string;
    primary?: Identifiers;
    secondary?: Identifiers;
};
type BasePayload = {
    anonymous_id?: string;
    convert_timestamp?: boolean;
    email?: string;
    object_id?: string;
    object_type_id?: string;
    person_id?: string;
    primary?: Identifiers;
    secondary?: Identifiers;
    timestamp?: string | number;
};
export declare const buildPayload: <Payload extends BasePayload>({ action, type, payload }: RequestPayload<Payload>) => {
    attributes?: Record<string, unknown>;
    cio_relationships?: Record<string, unknown>[];
    identifiers?: Identifiers;
    type: string;
    action: string;
    object_id?: string;
    object_type_id?: string;
};
export declare const resolveIdentifiers: ({ anonymous_id, email, object_id, object_type_id, person_id }: Record<string, unknown>) => Identifiers | undefined;
export declare const sendBatch: <Payload extends BasePayload>(request: Function, options: RequestPayload<Payload>[]) => any;
export declare const sendSingle: <Payload extends BasePayload>(request: Function, options: RequestPayload<Payload>) => any;
export { isIsoDate };
