import * as plugins from '../plugins.js';
import type { ISecurityCompiledPolicy } from '../../dist_ts_interfaces/data/security-policy.js';
import type { DcRouter } from '../classes.dcrouter.js';
/**
 * Pure route-policy transformations applied before routes reach SmartProxy:
 * per-listener inbound PROXY protocol policies (driven by RemoteIngress and
 * VPN) and merging of compiled security policies.
 */
export declare class RoutePolicyAugmenter {
    private dcRouterRef;
    constructor(dcRouterRef: DcRouter);
    /**
     * Ensure every route on a shared listener carries a compatible
     * inboundProxyProtocol policy, deriving defaults from RemoteIngress/VPN.
     */
    applyInboundProxyProtocolPolicies(routes: plugins.smartproxy.IRouteConfig[]): plugins.smartproxy.IRouteConfig[];
    /** Union blocked IPs/CIDRs across configured and compiled security policies. */
    mergeSecurityPolicies(...policies: Array<Partial<ISecurityCompiledPolicy> | undefined>): ISecurityCompiledPolicy | undefined;
    private getDesiredInboundProxyProtocolPolicy;
    private getInboundProxyListenerKeys;
    private mergeInboundProxyProtocolPolicies;
}
