import { RequestClient } from '@segment/actions-core';
import type { Settings } from '../generated-types';
declare abstract class DDApi {
    private readonly apiUrl;
    private readonly request;
    protected constructor(settings: Settings, request: RequestClient);
    protected get<TResponse>(endpoint: string, params?: Record<string, unknown>): Promise<import("@segment/actions-core/src").ModifiedResponse<TResponse>>;
    protected post<ResponseType, RequestJSON>(endpoint: string, data: RequestJSON): Promise<import("@segment/actions-core/src").ModifiedResponse<ResponseType>>;
    protected delete(endpoint: string): Promise<import("@segment/actions-core/src").ModifiedResponse<unknown>>;
    protected patch<ResponseType, RequestJSON>(endpoint: string, data: RequestJSON): Promise<import("@segment/actions-core/src").ModifiedResponse<ResponseType>>;
}
export default DDApi;
