import { RequestClient, StatsContext } from '@segment/actions-core';
import { UpdateUsersDataRequest } from './proto/protofile';
import { ListOperation, UpdateHandlerPayload, UserOperation } from './types';
import type { AudienceSettings } from './generated-types';
type DV360AuthCredentials = {
    refresh_token: string;
    access_token: string;
    client_id: string;
    client_secret: string;
};
export declare const getAuthSettings: () => DV360AuthCredentials;
export declare const getAuthToken: (request: RequestClient, settings: DV360AuthCredentials) => Promise<string>;
export declare const buildHeaders: (audienceSettings: AudienceSettings | undefined, accessToken: string) => {
    Authorization: string;
    'Content-Type': string;
    'Login-Customer-Id': string;
    'Linked-Customer-Id': string;
};
export declare const assembleRawOps: (payload: UpdateHandlerPayload, operation: ListOperation) => UserOperation[];
export declare const bulkUploaderResponseHandler: (response: Response, statsName: string, statsContext: StatsContext | undefined) => Promise<void>;
export declare const createUpdateRequest: (payload: UpdateHandlerPayload[], operation: "add" | "remove") => UpdateUsersDataRequest;
export declare const sendUpdateRequest: (request: RequestClient, updateRequest: UpdateUsersDataRequest, statsName: string, statsContext: StatsContext | undefined) => Promise<void>;
export declare const handleUpdate: (request: RequestClient, payload: UpdateHandlerPayload[], operation: "add" | "remove", statsContext: StatsContext | undefined) => Promise<{
    status: number;
}>;
export {};
