export interface ValidationResult {
    valid: boolean;
    errors: ValidationError[];
    warnings: ValidationWarning[];
    suggestions: string[];
    visibleProperties: string[];
    hiddenProperties: string[];
    autofix?: Record<string, any>;
}
export interface ValidationError {
    type: 'missing_required' | 'invalid_type' | 'invalid_value' | 'incompatible' | 'invalid_configuration' | 'syntax_error';
    property: string;
    message: string;
    fix?: string;
    suggestion?: string;
}
export interface ValidationWarning {
    type: 'missing_common' | 'deprecated' | 'inefficient' | 'security' | 'best_practice' | 'invalid_value';
    property?: string;
    message: string;
    suggestion?: string;
}
export declare class ConfigValidator {
    private static readonly UI_ONLY_TYPES;
    static validate(nodeType: string, config: Record<string, any>, properties: any[], userProvidedKeys?: Set<string>): ValidationResult;
    static validateBatch(configs: Array<{
        nodeType: string;
        config: Record<string, any>;
        properties: any[];
    }>): ValidationResult[];
    private static checkRequiredProperties;
    private static getPropertyVisibility;
    private static evaluateCondition;
    private static valueMatches;
    static isPropertyVisible(prop: any, config: Record<string, any>): boolean;
    private static validatePropertyTypes;
    private static performNodeSpecificValidation;
    private static validateHttpRequest;
    private static validateWebhook;
    private static validateDatabase;
    private static validateCode;
    private static checkCommonIssues;
    private static performSecurityChecks;
    private static getVisibilityRequirement;
    private static validateJavaScriptSyntax;
    private static validatePythonSyntax;
    private static validateN8nCodePatterns;
}
//# sourceMappingURL=config-validator.d.ts.map