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