import type { Context } from "hono"; import { type TrustedProxiesInput } from "./trust.js"; import type { ResolutionOutcome } from "./types.js"; export type Strategy = { readonly kind: "single-header"; readonly header: string; } | { readonly kind: "xff-rightmost-untrusted"; readonly trustedProxies: TrustedProxiesInput; } | { readonly kind: "xff-leftmost-insecure"; } | { readonly kind: "forwarded-rightmost-untrusted"; readonly trustedProxies: TrustedProxiesInput; } | { readonly kind: "conn-info"; readonly getConnInfo: (c: Context) => { remote?: { address?: string; }; }; } | { readonly kind: "first-of"; readonly strategies: readonly Strategy[]; }; type Resolver = (c: Context) => ResolutionOutcome; export declare function compileStrategy(strategy: Strategy): Resolver; export {}; //# sourceMappingURL=strategies.d.ts.map