/**
 * Client-side VulForm handler for Astro components
 * Provides progressive enhancement for server-rendered forms
 */
interface VulFormClientConfig {
    templateId: string;
    apiKey?: string;
    apiUrl?: string;
    theme?: string;
    prefill?: Record<string, any>;
    enableAnalytics?: boolean;
    spamProtection?: boolean;
    loadingState?: string;
    resetOnSuccess?: boolean;
    showSuccessMessage?: boolean;
    autoRedirect?: boolean;
}
export declare class VulFormClient {
    private element;
    private config;
    private apiClient;
    private template;
    private formData;
    private validationErrors;
    private isSubmitting;
    private isSubmitted;
    constructor(element: HTMLElement, config: VulFormClientConfig);
    private initialize;
    private initializeApiClient;
    private getApiKeyFromEnv;
    private loadTemplate;
    private setupForm;
    private hideLoading;
    private renderForm;
    private generateFormHTML;
    private generateFieldHTML;
    private generateFieldInput;
    private getInputType;
    private getLayoutClasses;
    private getFieldWidth;
    private getFieldClasses;
    private attachEventListeners;
    private handleFieldChange;
    private handleCheckboxChange;
    private handleFieldBlur;
    private handleSubmit;
    private showValidationErrors;
    private showFieldError;
    private clearFieldError;
    private clearErrors;
    private showError;
    private showSuccess;
    private updateSubmitButton;
    private resetForm;
}
export {};
//# sourceMappingURL=client.d.ts.map