/**
 * Accessibility features for forms with ARIA attributes and screen reader support
 */
import type { AccessibilityConfig, FieldState, FormInstance } from './types.js';
export declare class AccessibilityManager {
    private static instance;
    private announceElement;
    static getInstance(): AccessibilityManager;
    constructor();
    /**
     * Create hidden element for screen reader announcements
     */
    private createAnnounceElement;
    /**
     * Announce message to screen readers
     */
    announce(message: string, priority?: 'polite' | 'assertive'): void;
    /**
     * Generate accessibility attributes for form fields
     */
    generateFieldAttributes(fieldName: string, fieldState: FieldState, config?: AccessibilityConfig): Record<string, string>;
    /**
     * Generate accessibility attributes for form containers
     */
    generateFormAttributes(formId: string, formInstance: FormInstance): Record<string, string>;
    /**
     * Generate error message attributes
     */
    generateErrorAttributes(fieldName: string): Record<string, string>;
    /**
     * Generate help text attributes
     */
    generateHelpTextAttributes(fieldName: string): Record<string, string>;
    /**
     * Generate label attributes
     */
    generateLabelAttributes(fieldName: string): Record<string, string>;
    /**
     * Handle field validation announcements
     */
    announceFieldValidation(fieldName: string, fieldState: FieldState): void;
    /**
     * Handle form submission announcements
     */
    announceFormSubmission(formInstance: FormInstance): void;
    /**
     * Focus management for form navigation
     */
    focusFirstError(formInstance: FormInstance): void;
    /**
     * Create skip links for form navigation
     */
    createSkipLinks(formId: string): HTMLElement;
    /**
     * Enhance form with accessibility features
     */
    enhanceForm(formElement: HTMLFormElement, formInstance: FormInstance): void;
    /**
     * Update error summary
     */
    private updateErrorSummary;
    /**
     * Update field accessibility attributes
     */
    private updateFieldAccessibility;
    /**
     * Create accessible field wrapper
     */
    createFieldWrapper(fieldName: string, label: string, helpText?: string): HTMLElement;
    /**
     * Clean up accessibility resources
     */
    cleanup(): void;
}
/**
 * Global accessibility manager instance
 */
export declare const accessibility: AccessibilityManager;
/**
 * Utility functions for accessibility
 */
export declare const a11y: {
    manager: AccessibilityManager;
    announce: (message: string, priority?: "polite" | "assertive") => void;
    focusFirstError: (form: FormInstance) => void;
    enhanceForm: (element: HTMLFormElement, form: FormInstance) => void;
    createFieldWrapper: (name: string, label: string, helpText?: string) => HTMLElement;
};
//# sourceMappingURL=accessibility.d.ts.map