import { Settings } from './generated-types';
import { RequestClient } from '@segment/actions-core';
import { Payload as AddContactToListPayload } from './addContactToList/generated-types';
import { Payload as CreateContactactivityPayload } from './createContactactivity/generated-types';
import { Payload as RemoveContactFromListPayload } from './removeContactFromList/generated-types';
import { Payload as UpsertContactPayload } from './upsertContact/generated-types';
import { Payload as AddProductToCartPayload } from './addProductToCart/generated-types';
import { Payload as RemoveProductFromCartPayload } from './removeProductFromCart/generated-types';
import { Payload as UpsertOrder } from './upsertOrder/generated-types';
import { Payload as MergeContacts } from './mergeContacts/generated-types';
export interface IdentifiableRequest {
    segmentId?: string | null;
    anonymousId?: string | null;
    userIdentities?: {
        [k: string]: unknown;
    };
}
declare class CordialClient {
    private readonly apiUrl;
    private readonly request;
    private readonly identityKeys;
    constructor(settings: Settings, request: RequestClient);
    extractIdentities(payload: IdentifiableRequest): IdentifiableRequest;
    addContactActivity(payload: CreateContactactivityPayload): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
    upsertContact(payload: UpsertContactPayload): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
    addContactToList(payload: AddContactToListPayload): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
    removeContactFromList(payload: RemoveContactFromListPayload): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
    addProductToCart(payload: AddProductToCartPayload): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
    removeProductFromCart(payload: RemoveProductFromCartPayload): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
    upsertOrder(payload: UpsertOrder): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
    mergeContacts(payload: MergeContacts): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
}
export default CordialClient;
