import { BaseFormBuilderAction, FormResponse } from '../../base/base-form-builder.action.js'; import { AxiosInstance } from 'axios'; /** * JotForm API response structures */ export interface JotFormSubmission { id: string; form_id: string; ip: string; created_at: string; status: string; new: string; flag: string; answers: Record; } export interface JotFormSubmissionsResult { responseCode: number; message: string; content: JotFormSubmission[]; limit: number; offset: number; } /** * Base class for all JotForm actions. * Handles JotForm-specific authentication and API interaction patterns. */ export declare abstract class JotFormBaseAction extends BaseFormBuilderAction { protected get formPlatform(): string; protected get integrationName(): string; protected get apiBaseUrl(): string; private axiosInstance; private currentAPIKey; /** * Get axios instance with JotForm authentication */ protected getAxiosInstance(apiKey: string, region?: 'us' | 'eu' | 'hipaa'): AxiosInstance; /** * Get regional base URL */ protected getRegionalBaseUrl(region?: 'us' | 'eu' | 'hipaa'): string; /** * Get submissions from a JotForm */ protected getJotFormSubmissions(formId: string, apiKey: string, options?: { limit?: number; offset?: number; filter?: Record; orderby?: string; region?: 'us' | 'eu' | 'hipaa'; }): Promise; /** * Get all submissions with automatic pagination */ protected getAllJotFormSubmissions(formId: string, apiKey: string, options?: { filter?: Record; orderby?: string; maxSubmissions?: number; region?: 'us' | 'eu' | 'hipaa'; }): Promise; /** * Get a single submission by ID */ protected getSingleJotFormSubmission(submissionId: string, apiKey: string, region?: 'us' | 'eu' | 'hipaa'): Promise; /** * Get form details */ protected getJotFormDetails(formId: string, apiKey: string, region?: 'us' | 'eu' | 'hipaa'): Promise; /** * Get form questions/fields */ protected getJotFormQuestions(formId: string, apiKey: string, region?: 'us' | 'eu' | 'hipaa'): Promise; /** * Create a new submission */ protected createJotFormSubmission(formId: string, apiKey: string, submissionData: Record, region?: 'us' | 'eu' | 'hipaa'): Promise; /** * Normalize JotForm submission to common format */ protected normalizeJotFormSubmission(jfSubmission: JotFormSubmission): FormResponse; /** * Handle JotForm-specific errors */ protected handleJotFormError(error: any): Error; /** * Sleep helper for rate limiting */ protected sleep(ms: number): Promise; } //# sourceMappingURL=jotform-base.action.d.ts.map