import * as React from "react";
import type { Placeholder } from "./PlaceholderInputParser";
/**
 * Props interface that all placeholder input type components must implement
 */
export interface PlaceholderInputComponentProps {
    placeholder: Placeholder;
    value: string;
    onChange: (value: string) => void;
    onKeyDown: (e: React.KeyboardEvent) => void;
    inputRef: React.Ref<HTMLInputElement | HTMLTextAreaElement>;
    autoFocus?: boolean;
}
/**
 * Configuration for a placeholder input type
 */
export interface PlaceholderInputTypeConfig {
    type: string;
    component: React.ComponentType<PlaceholderInputComponentProps>;
    validator?: (value: string) => boolean;
}
/**
 * Registry for placeholder input types
 */
declare class PlaceholderInputTypeRegistry {
    private types;
    /**
     * Register a new placeholder input type
     */
    register(config: PlaceholderInputTypeConfig): void;
    /**
     * Get a registered placeholder input type configuration
     */
    get(type: string): PlaceholderInputTypeConfig | undefined;
    /**
     * Check if a type is registered
     */
    has(type: string): boolean;
}
export declare const placeholderInputTypeRegistry: PlaceholderInputTypeRegistry;
export {};
