import { RequestHandler } from "express";
type StaticApiKeyConfig = {
    /** The static API key to validate against */
    apiKey: string;
    /** Optional header name to read the API key from. Defaults to 'x-api-key' */
    headerName?: string;
};
type CustomValidationConfig = {
    /** Optional header name to read the API key from. Defaults to 'x-api-key' */
    headerName?: string;
    /** Custom validation function that receives the API key and returns a Promise<boolean> */
    validateApiKey: (key: string) => Promise<boolean>;
};
export declare function apiKeyAuthMiddleware(config: StaticApiKeyConfig): RequestHandler;
export declare function apiKeyAuthMiddleware(config: CustomValidationConfig): RequestHandler;
export {};
