/**
 * Example Plugin: Security Validator
 *
 * Validates code for security issues before transformation
 *
 * @example
 * const compiler = new PluggableCompiler();
 * compiler.use(new SecurityValidatorPlugin({
 *   forbiddenPatterns: [/eval\s*\(/],
 *   maxComplexity: 20
 * }));
 */
import type * as t from '@babel/types';
import type { ValidatorPlugin } from '../plugin-api.js';
export interface SecurityValidatorOptions {
    /**
     * Forbidden patterns (regex)
     */
    forbiddenPatterns?: RegExp[];
    /**
     * Maximum cyclomatic complexity
     */
    maxComplexity?: number;
    /**
     * Maximum nesting depth
     */
    maxNesting?: number;
    /**
     * Forbidden global access
     */
    forbiddenGlobals?: string[];
}
export declare class SecurityValidatorPlugin implements ValidatorPlugin {
    name: string;
    version: string;
    priority: number;
    private options;
    constructor(options?: SecurityValidatorOptions);
    validate(code: string, ast: t.File, phase: 'pre' | 'post'): Promise<void>;
}
/**
 * Security validation error
 */
export declare class SecurityValidationError extends Error {
    code: string;
    constructor(message: string, code: string);
}
//# sourceMappingURL=security-validator-plugin.d.ts.map