/**
 * Base security policy interface.
 *
 * All security policies extend this base, ensuring consistent
 * realm identification and rate limiting capabilities.
 */
export interface ISecurityPolicy {
    /** Security realm identifier (mount path) */
    realm: string;
    /** Trust anchor - public key or certificate reference (Phase 2+) */
    trustAnchor?: string;
    /** Rate limiting configuration */
    rateLimit?: IRateLimitConfig;
    /**
     * Allow dynamic component compilation via new Function().
     *
     * SECURITY: new Function() is essentially eval() - allows arbitrary code execution.
     * Mark Miller: "Any code that reaches _compileDynamicComponent runs with full privileges."
     *
     * - DEVELOPMENT_SECURITY_POLICY: true (for dev/testing)
     * - DEFAULT_SECURITY_POLICY: false (production safe)
     *
     * @default false
     */
    allowDynamicCompilation?: boolean;
}
/**
 * Rate limiting configuration.
 */
export interface IRateLimitConfig {
    /** Maximum messages per window */
    maxMessages: number;
    /** Time window in milliseconds */
    windowMs: number;
    /** Action when limit exceeded */
    onExceeded: 'reject' | 'queue' | 'throttle';
}
//# sourceMappingURL=ISecurityPolicy.d.ts.map