import { FormFieldType } from './types';

/**
 * Pattern-based field type detection rule
 */
export interface FieldTypePattern {
    pattern: RegExp | string[];
    type: FormFieldType;
    priority?: number;
}
/**
 * Registry for managing field type detection patterns
 */
export declare class FieldTypeRegistry {
    private static instance;
    private patterns;
    private constructor();
    /**
     * Get singleton instance
     */
    static getInstance(): FieldTypeRegistry;
    /**
     * Initialize default field type patterns
     */
    private initializeDefaultPatterns;
    /**
     * Register a field type pattern
     */
    register(key: string, pattern: FieldTypePattern): void;
    /**
     * Unregister a field type pattern
     */
    unregister(key: string): boolean;
    /**
     * Detect field type based on field name
     */
    detectType(fieldName: string): FormFieldType | null;
    /**
     * Get all registered patterns
     */
    getPatterns(): Map<string, FieldTypePattern>;
    /**
     * Clear all patterns
     */
    clear(): void;
    /**
     * Reset to default patterns
     */
    reset(): void;
}
export declare const fieldTypeRegistry: FieldTypeRegistry;
