import type { Env, MiddlewareHandler } from "hono"; import { type Strategy } from "./strategies.js"; import type { IpAddress, ResolutionOutcome } from "./types.js"; export interface IpMiddlewareOptions { readonly strategy: Strategy; readonly variable?: K; readonly onFailure?: (outcome: Extract) => void; readonly required?: boolean; } export type IpVariables = { readonly [P in K]: IpAddress | null; } & { readonly [P in `${K}Outcome`]: ResolutionOutcome; }; export declare function ipMiddleware(opts: IpMiddlewareOptions): MiddlewareHandler<{ Variables: IpVariables; } & Env>; //# sourceMappingURL=middleware.d.ts.map