import { RequestContext } from "../http/http.js"; export interface SecurityAuthentication { getName(): string; applySecurityAuthentication(context: RequestContext): void | Promise; } export interface TokenProvider { getToken(): Promise | string; } export declare class ApiKeyAuthAuthentication implements SecurityAuthentication { private accessToken; constructor(accessToken: string); getName(): string; applySecurityAuthentication(context: RequestContext): void; } export type AuthMethods = { "default"?: SecurityAuthentication; "apiKeyAuth"?: SecurityAuthentication; }; export type ApiKeyConfiguration = string; export type HttpBasicConfiguration = { "username": string; "password": string; }; export type HttpBearerConfiguration = { tokenProvider: TokenProvider; }; export type OAuth2Configuration = { accessToken: string; }; export type AuthMethodsConfiguration = { "default"?: SecurityAuthentication; "apiKeyAuth"?: OAuth2Configuration; }; export declare function configureAuthMethods(config: AuthMethodsConfiguration | undefined): AuthMethods;