import type { ValidationResult, ExecutionConfig } from '@mondaydotcomorg/atp-protocol';
/**
 * CodeValidator validates user code before execution using a whitelist approach.
 * Only explicitly allowed operations and patterns are permitted.
 */
export declare class CodeValidator {
    private readonly allowedGlobalObjects;
    private readonly forbiddenPatterns;
    /**
     * Validates code for security and syntax issues.
     * @param code - The code to validate
     * @param config - Execution configuration
     * @returns Validation result with any errors or security issues
     */
    validate(code: string, config: ExecutionConfig): Promise<ValidationResult>;
    /**
     * Validates JavaScript syntax using acorn parser.
     * @param code - Code to validate
     * @param errors - Array to append syntax errors to
     */
    private validateSyntax;
    /**
     * Checks for unauthorized global object access.
     * @param code - Code to check
     * @param securityIssues - Array to append issues to
     */
    private checkGlobalAccess;
    /**
     * Validates import statements to ensure NO imports are allowed.
     * ALL imports are blocked for security - use injected sandbox globals instead.
     * @param code - Code to validate
     * @param securityIssues - Array to append issues to
     */
    private validateImports;
}
//# sourceMappingURL=index.d.ts.map