import type { FastifyRequest } from "fastify"; import type { ApiKeySecurityScheme, BasicAuthSecurityScheme, BearerSecurityScheme } from "./security-schemes.js"; /** * The returned value from a security handler. */ export type HandlerRetval = { ok: true; } | { ok: false; code: 401 | 403; }; export declare const HandlerRetvalReason: Readonly<{ UNAUTHORIZED: 401; FORBIDDEN: 403; }>; /** * A wrapped handler to be used as a Fastify preValidation hook. */ export type WrappedHandler = (request: FastifyRequest) => HandlerRetval | Promise; /** * ----- API Key Handler Builder ----- */ export declare function buildApiKeyHandler(scheme: ApiKeySecurityScheme): WrappedHandler; /** * ----- HTTP Basic Handler Builder ----- */ export declare function buildHttpBasicHandler(scheme: BasicAuthSecurityScheme): WrappedHandler; /** * ----- HTTP Bearer Handler Builder ----- */ export declare function buildHttpBearerHandler(scheme: BearerSecurityScheme): WrappedHandler;