import type { AxiosInstance } from 'axios'; import { SpearlyAnalytics } from '../spearly-analytics'; export declare type BaseHeaders = { Accept: string; Authorization: string; }; export declare type GetParams = { limit?: number; offset?: number; order?: 'desc' | 'asc'; orderDirection?: 'desc' | 'asc'; orderBy?: string; orders?: { [key: string]: 'desc' | 'asc'; }; filterBy?: string; filterValue?: string | string[]; filterRef?: string; filters?: { [key: string]: string | string[]; }; filterMode?: 'or' | 'and'; rangeFrom?: Date; rangeTo?: Date; patternName?: 'a' | 'b'; distinctId?: string; sessionId?: string; }; export declare type GetContentParams = { distinctId?: string; patternName?: string; }; export declare class SpearlyApiClient { client: AxiosInstance; analytics: SpearlyAnalytics; constructor(apiKey: string, domain?: string, analyticsDomain?: string); getRequest(endpoint: string, queries?: string): Promise; postRequest(endpoint: string, params: { [key: string]: unknown; }): Promise; getList(contentTypeId: string, params?: GetParams): Promise; getContent(contentTypeId: string, contentId: string, params?: GetContentParams): Promise; getContentPreview(contentTypeId: string, contentId: string, previewToken: string): Promise; getFormLatest(publicUid: string): Promise; postFormAnswers(formVersionId: number, fields: { [key: string]: unknown; } & { _spearly_gotcha: string; }): Promise; toListParams(params?: GetParams): string; toContentParams(params?: GetContentParams): string; }