import { SafeMath, type ChartValidationResult, type ChartValidationError } from '../utils/chart-validation';
import { ChartDataPoint } from '../types/chart.types';
interface UseChartValidationOptions {
    /**
     * Whether to sanitize data automatically
     */
    autoSanitize?: boolean;
    /**
     * Whether to log validation warnings to console
     */
    logWarnings?: boolean;
    /**
     * Custom error handler for validation errors
     */
    onValidationError?: (errors: ChartValidationError[]) => void;
    /**
     * Custom warning handler for validation warnings
     */
    onValidationWarning?: (warnings: ChartValidationError[]) => void;
}
interface UseChartValidationReturn {
    /**
     * Validation result
     */
    validation: ChartValidationResult;
    /**
     * Sanitized data (if autoSanitize is true)
     */
    sanitizedData: ChartDataPoint[];
    /**
     * Whether the chart data is valid and safe to render
     */
    isValid: boolean;
    /**
     * Whether there are any validation warnings
     */
    hasWarnings: boolean;
    /**
     * Safe scale calculation utilities
     */
    safeScale: {
        calculateRange: (options?: {
            minValue?: number;
            maxValue?: number;
            includeZero?: boolean;
            padding?: number;
        }) => {
            min: number;
            max: number;
            hasValidData: boolean;
        };
    };
    /**
     * Safe math utilities
     */
    safeMath: typeof SafeMath;
    /**
     * Manual validation trigger
     */
    revalidate: () => void;
}
/**
 * Hook for comprehensive chart validation and error handling
 */
export declare function useChartValidation(data: unknown, config: unknown, options?: UseChartValidationOptions): UseChartValidationReturn;
/**
 * Simplified hook for basic chart validation
 */
export declare function useChartDataValidation(data: unknown, config: unknown): UseChartValidationReturn;
/**
 * Hook for production chart validation (no console warnings)
 */
export declare function useChartValidationProduction(data: unknown, config: unknown, onError?: (errors: ChartValidationError[]) => void): UseChartValidationReturn;
export {};
