@vulform/core
Version:
Core utilities and types for VulForm packages
57 lines • 1.57 kB
TypeScript
/**
* VulForm API Client
* Handles all API communication with VulForm backend
*/
import { ApiClientConfig, FormTemplate, SubmissionRequest, SubmissionResponse, AnalyticsEvent, ExportRequest, ExportResult, FieldValidation } from '../types';
export declare class VulFormApiClient {
private config;
constructor(config: ApiClientConfig);
private resolveBaseUrl;
/**
* Get form template by ID
*/
getTemplate(templateId: string): Promise<FormTemplate>;
/**
* Submit form data
*/
submitForm(data: SubmissionRequest): Promise<SubmissionResponse>;
/**
* Validate individual field
*/
validateField(field: string, value: any, validation: FieldValidation): Promise<string | null>;
/**
* Track analytics event
*/
trackEvent(event: AnalyticsEvent): Promise<void>;
/**
* Export form template as code
*/
exportTemplate(request: ExportRequest): Promise<ExportResult>;
/**
* Client-side field validation
*/
private validateFieldClientSide;
/**
* Basic email validation
*/
private isValidEmail;
/**
* Make HTTP request with retry logic
*/
private makeRequest;
/**
* Sleep utility for retries
*/
private sleep;
}
/**
* VulForm Error class
*/
export declare class VulFormError extends Error {
code: string;
statusCode?: number;
details?: any;
constructor(code: string, message: string, statusCode?: number, details?: any);
}
export default VulFormApiClient;
//# sourceMappingURL=api-client.d.ts.map