import { FastifyRequest, FastifyPluginAsync, FastifyReply, onRequestHookHandler, preValidationHookHandler, preHandlerHookHandler, FastifyInstance } from 'fastify' declare module 'fastify' { interface FastifyInstance { basicAuth: onRequestHookHandler | preValidationHookHandler | preHandlerHookHandler } } type FastifyBasicAuth = FastifyPluginAsync declare namespace fastifyBasicAuth { export interface FastifyBasicAuthOptions { validate( this: FastifyInstance, username: string, password: string, req: FastifyRequest, reply: FastifyReply, done: (err?: Error) => void ): void | Promise; authenticate?: boolean | { realm?: string | ((req: FastifyRequest) => string); header?: string }; proxyMode?: boolean; header?: string; strictCredentials?: boolean | undefined; utf8?: boolean | undefined; } export const fastifyBasicAuth: FastifyBasicAuth export { fastifyBasicAuth as default } } declare function fastifyBasicAuth (...params: Parameters): ReturnType export = fastifyBasicAuth