/**
 * Comprehensive validation utilities for DataPilot
 */
import type { ActionableSuggestion } from '../core/types';
import { DataPilotError } from '../core/types';
export interface ValidationRule<T = unknown> {
    name: string;
    validate: (value: T) => boolean;
    message: string;
    suggestion?: ActionableSuggestion;
}
export interface ValidationResult {
    isValid: boolean;
    errors: DataPilotError[];
    warnings: DataPilotError[];
}
export declare class Validator {
    /**
     * Validate file path and accessibility
     */
    static validateFilePath(filePath: string): ValidationResult;
    /**
     * Validate CLI options
     */
    static validateCLIOptions(options: Record<string, unknown>): ValidationResult;
    /**
     * Validate numeric configuration values
     */
    static validateNumericConfig(config: Record<string, unknown>, rules: Record<string, {
        min?: number;
        max?: number;
        integer?: boolean;
    }>): ValidationResult;
    /**
     * Validate string configuration values
     */
    static validateStringConfig(config: Record<string, unknown>, rules: Record<string, {
        allowedValues?: string[];
        minLength?: number;
        maxLength?: number;
    }>): ValidationResult;
    /**
     * Validate system resources
     */
    static validateSystemResources(): ValidationResult;
    /**
     * Comprehensive validation combining all checks
     */
    static validateAll(filePath: string, options: Record<string, unknown>): ValidationResult;
}
/**
 * Data quality validation utilities
 */
export declare class DataQualityValidator {
    /**
     * Validate CSV data format
     */
    static validateCSVFormat(data: string[][], headers?: string[]): ValidationResult;
}
//# sourceMappingURL=validation.d.ts.map