import type { ModifiedResponse } from '@segment/actions-core';
import { RequestClient } from '@segment/actions-core';
import { Payload } from './generated-types';
import { AudienceSettings, Settings } from '../generated-types';
interface ClusterItem {
    user_id: string;
    type: string;
    is_hashed: boolean;
}
type Cluster = {
    cluster: ClusterItem[];
} | null;
export declare class TaboolaClient {
    request: RequestClient;
    payloads: Payload[];
    audienceSettings?: AudienceSettings;
    constructor(request: RequestClient, payloads: Payload[], audienceSettings?: AudienceSettings);
    static refreshAccessToken(request: RequestClient, settings: Settings): Promise<{
        accessToken: string;
    }>;
    sendToTaboola(): Promise<ModifiedResponse<Response>[]>;
    hashEmail(email: string): string;
    createCluster(payload: Payload): Cluster;
}
export {};
