/**
 * Shared input validation utilities
 * @countermeasure/web-components/utils/validation
 */
export interface ValidationResult {
    valid: boolean;
    message?: string;
}
export interface ValidationRule {
    validate: (value: unknown) => boolean;
    message: string;
}
/** Validate that a value is not empty */
export declare function validateRequired(value: unknown): boolean;
/** Validate an email address format */
export declare function validateEmail(value: string): boolean;
/** Validate a URL format */
export declare function validateUrl(value: string): boolean;
/** Validate minimum length */
export declare function validateMinLength(value: string, min: number): boolean;
/** Validate maximum length */
export declare function validateMaxLength(value: string, max: number): boolean;
/** Validate a value matches a regex pattern */
export declare function validatePattern(value: string, pattern: RegExp): boolean;
/**
 * Create a composite validator from an array of rules.
 * Returns the first failing validation result, or valid if all pass.
 */
export declare function createValidator(rules: ValidationRule[]): (value: unknown) => ValidationResult;
//# sourceMappingURL=validation.d.ts.map