import { SecurityRequirementObject, SecuritySchemeObject } from '../../generators/openapi/definitions'; import { Auth } from '../../generators/postman/definitions'; interface IPostmanAuthUtil { toPostman(): Auth; } interface IContextOpenAPIAuthUtil { toOpenAPISecurity(): SecurityRequirementObject[]; } interface ISchemeOpenAPIAuthUtil { toOpenAPI(): Record; } interface IFullOpenAPIAuthUtil extends IContextOpenAPIAuthUtil, ISchemeOpenAPIAuthUtil { } export interface IContextAuthUtil extends IPostmanAuthUtil, IContextOpenAPIAuthUtil { } interface IAuthUtil extends IFullOpenAPIAuthUtil, IPostmanAuthUtil { setDescription(description: string): unknown; getDescription(): string | undefined; } export declare abstract class BaseOpenAPIAuthUtil implements IFullOpenAPIAuthUtil { abstract toOpenAPI(): Record; abstract toOpenAPISecurity(scopes?: string[]): SecurityRequirementObject[]; } export declare abstract class BasePostmanAuthUtil implements IPostmanAuthUtil { abstract toPostman(scopes?: string[]): Auth; } export declare abstract class BaseContextAuthUtil extends BasePostmanAuthUtil implements IContextAuthUtil { abstract toOpenAPISecurity(scopes?: string[]): SecurityRequirementObject[]; } /** * {@include ../../../typedocIncludes/auth/baseAuthUtil.md} */ export declare abstract class BaseAuthUtil extends BaseContextAuthUtil implements IPostmanAuthUtil, IFullOpenAPIAuthUtil { abstract toOpenAPI(): Record; } export declare abstract class FullAuthUtil extends BaseAuthUtil implements IAuthUtil { protected description?: string; protected securitySchemeName: string; /** * * @param description A short description for security scheme. * CommonMark syntax MAY be used for rich text representation. */ abstract setDescription(description: string): this; constructor(securitySchemeName: string); getSecuritySchemeName(): string; getDescription(): string | undefined; removeDescription(): string | undefined; toOpenAPISecurity(scopes?: string[]): SecurityRequirementObject[]; } export {};