import { ModifiedResponse, MultiStatusResponse } from '@segment/actions-core';
import { RequestClient } from '@segment/actions-core';
import { Settings } from './generated-types';
import { Payload as TrackEventPayload } from './trackEvent/generated-types';
import { Payload as TrackPurchasePayload } from './trackPurchase/generated-types';
import { Payload as UpdateUserProfilePayload } from './updateUserProfile/generated-types';
export type BrazeTrackUserAPIResponse = {
    attributes_processed?: number;
    events_processed?: number;
    purchases_processed?: number;
    message: string;
    errors?: {
        type: string;
        input_array: 'events' | 'purchases' | 'attributes';
        index: number;
    }[];
};
export declare function sendTrackEvent(request: RequestClient, settings: Settings, payload: TrackEventPayload, syncMode?: 'add' | 'update'): Promise<ModifiedResponse<unknown>>;
export declare function sendBatchedTrackEvent(request: RequestClient, settings: Settings, payloads: TrackEventPayload[], syncMode?: 'add' | 'update'): Promise<MultiStatusResponse>;
export declare function sendTrackPurchase(request: RequestClient, settings: Settings, payload: TrackPurchasePayload, syncMode?: 'add' | 'update'): Promise<ModifiedResponse<unknown>> | undefined;
export declare function sendBatchedTrackPurchase(request: RequestClient, settings: Settings, payloads: TrackPurchasePayload[], syncMode?: 'add' | 'update'): Promise<MultiStatusResponse>;
export declare function updateUserProfile(request: RequestClient, settings: Settings, payload: UpdateUserProfilePayload, syncMode?: string): Promise<ModifiedResponse<unknown>>;
export declare function updateBatchedUserProfile(request: RequestClient, settings: Settings, payloads: UpdateUserProfilePayload[], syncMode?: string): Promise<MultiStatusResponse>;
export declare function generateMultiStatusError(batchSize: number, errorMessage: string): MultiStatusResponse;
