import { ModifiedResponse } from '@segment/actions-core';
import { RequestClient } from '@segment/actions-core';
import { AssociationType, CreateAssociation, SearchResponse, UpsertRecordResponse } from '../utils';
export declare class Hubspot {
    request: RequestClient;
    objectType: string;
    toObjectType?: string;
    constructor(request: RequestClient, objectType: string, toObjectType?: string);
    search(searchFields: {
        [key: string]: unknown;
    }, objectType: string, responseProperties: string[], responseSortBy: string[]): Promise<ModifiedResponse<SearchResponse> | null>;
    create(properties: {
        [key: string]: unknown;
    }, associations?: CreateAssociation[]): Promise<ModifiedResponse<UpsertRecordResponse>>;
    update(uniqueIdentifier: string, properties: {
        [key: string]: unknown;
    }, idProperty?: string): Promise<ModifiedResponse<UpsertRecordResponse>>;
    associate(objectId: string, toObjectId: string, associations: AssociationType[]): Promise<ModifiedResponse<UpsertRecordResponse>>;
    getObjectResponseToAssociate(searchFieldsToAssociateCustomObjects: {
        [key: string]: unknown;
    } | undefined, associationType: AssociationType | null): Promise<ModifiedResponse<SearchResponse> | null>;
}
